日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

创建型、结构型、行为型模式(1)

發布時間:2024/7/23 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 创建型、结构型、行为型模式(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:http://blog.csdn.net/wulingmin21/article/details/6753363


目的

創建型模式
Creational Pattern

結構型模式
Structural Patterns

行為型模式
Behavioral Pattern

概念

創建型模式,就是創建對象的模式,抽象了實例化的過程。它幫助一個系統獨立于如何創建、組合和表示它的那些對象。關注的是對象的創建,創建型模式將創建對象的過程進行了抽象,也可以理解為將創建對象的過程進行了封裝,作為客戶程序僅僅需要去使用對象,而不再關心創建對象過程中的邏輯

結構型模式是為解決怎樣組裝現有的類,設計他們的交互方式,從而達到實現一定的功能的目的。結構型模式包容了對很多問題的解決。例如:擴展性(外觀、組成、代理、裝飾)封裝性(適配器,橋接)

行為型模式涉及到算法和對象間職責的分配,行為模式描述了對象和類的模式,以及它們之間的通信模式,行為型模式刻劃了在程序運行時難以跟蹤的復雜的控制流可分為行為類模式和行為對象模式1.行為模式使用繼承機制在類間分派行為2.行為對象模式使用對象聚合來分配行為。一些行為對象模式描述了一組對等的對象怎樣相互協作以完成其中任何一個對象都無法單獨完成的任務。

Factory Method

Adapter(類)

Interpreter

Template Method

對象

Abstract Factory

Adapter(對象)

Chain of Responsibility

Builder

Bridge

Command

Prototype

Composite

Iterator

Singleton

Decorator

Mediator

Facade

Memento

Flyweight

Observer

Proxy

State

Strategy

Visito

創建型模式

1.抽象工廠模式(Abstract Factory)

??????? 提供一個接口,讓該接口負責創建一系列“相關或者相互依賴的對象”,無需指定他們的具體類。


2.建造者模式(Builder)

??????? 將一個復雜對象的構建與其表示向分離,使得同樣的構建過程可以創建不同的表示


3.工廠方法(Factory Method)

??????? 定義一個用于創建對象的接口,讓子類決定實例化哪個類。FactoryMethod使得一個類的實例化延遲到子類

4.原型模式(Prototype)

???????使用原型實例指定創建對象的種類,然后通過拷貝這些原型來創建型的對象


5.單例模式(Singleton)

???????保證一個類僅有一個實例,并提供一個訪問它的全局訪問點

Abstract Factory

Builder

著重于多個系列的產品對象著重于一步步構造一個復雜對象
產品立即返回

在最后一步返回產品

(例如:《大話設計模式》里面的炒菜程序,每一步過了之后,“菜”這個產品才產生出來)

?

Factory Method

Prototypes

通常在Template Methods中被調用

不需要創建子類

不需要Initialize操作

要求一個針對Product類的Intialize操作

重新創建一個對象

利用現有的對象進行克隆,當兩個對象或多個對象雷同的時候,可以考慮用一個已創建的對象去克隆出其余的對象


結構型模式

6.適配器模式(Adapter)

??????????將一個類的接口轉換成客戶希望的另一個接口。

?? ? ? ? ?Adapter模式使得原本由于接口不兼容而不能一起工作的類可以一起工作


7.橋接(Bridge)

????????? 將抽象部分與實現部分分離使他們可以獨立的變化


8.組合(Composite)

????????? 將對象組合成樹形結構以表示“部分-整體”的層次結構。

?? ? ? ? ?Composite模式使得客戶對單個對象和組合對象的使用具有一致性


9.裝飾(Decorator)

??????????動態的給一個對象添加一些額外的職責。就增加功能而言,Decorator模式比生成子類更為靈活


10.外觀(Facade)

????????? 為子系統中的一組接口提供一個一致的界面,Facade模式定義了一個高層接口,這個接口使得這一子系統更加容易使用


11.享元(Flyweight)

????????? 運用共享技術有效的支持大量細粒度的對象


12.代理(Proxy)

????????? 為其他對象提供一種代理以控制這個對象的訪問

行為型模式

13.觀察者(Observer)

定義對象間的一種一對多的依賴關系,當一個對像的狀態改變時,所有依賴于它的對象都得到通知并被自動更新。


14.模版方法(TemplateMethod)

定義一個操作的算法骨架,而將一些步驟延遲到子類中,模版方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。


15.命令(Command)

將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數化;可以對請求排隊或記錄請求日志,以及支持可撤銷的操作


16.狀態(State)

允許一個對象在其內部狀態改變時改變它的行為,讓對象看起來似乎修改了它的類


17.職責鏈(ChainofResponsibility)

使多個對象都有機會處理請求,從而避免請求的發送者和接受者之間的耦合關系。將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它為止。


18.解釋器(interpreter)

給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。


19.中介者(Mediator)

用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯示地相互引用,從而使其耦合松散,而且可以獨立地改變他們之間的交互。


20.訪問者(Visitor)

表示一個作用于某對象結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用于這些元素的新的操作。


21.策略(Strategy)

定義一系列的算法,把它們一個個封裝起來,并且使它們可以相互替換。此模式使得算法可獨立于使用它的客戶而變化。


22.備忘錄(Memento)

在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態。這樣以后就可將該對象恢復到原先保存的狀態。


23.迭代器(Iterator)

提供一種方法順序訪問一個聚合對象中各個元素,而又不需暴露該對象的內部表示。



參考資料:

《大話設計模式》


總結

以上是生活随笔為你收集整理的创建型、结构型、行为型模式(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。