非关语言: 设计模式
http://www.riabook.cn/doc/designpattern/
From Gossip@caterpillar
非關語言: 設計模式
程式設計是思維具體化的一種方式,是思考如何解決問題的過程,設計模式是在解決問題的過程中,一些良好思路的經驗集成,最早講設計模式,人們總會提到 Gof ?的著作,它最早將經典的 23 種模式集合在一起說明,對后期學習程式設計,尤其是對從事物件導向程式設計的人們起了莫大的影響。
后來設計模式一詞被廣泛的應用到各種經驗集成,甚至還有反模式(AntiPattern),反模式教導您如何避開一些常犯且似是而非的程式設計思維。
這邊的話將整理一些設計模式學習心得,實作的部份是使用Java,因而您會看到一些與 Gof 模式不同的圖及實作方式,這是為了善用一些Java本身的特性,至于C++的實作方面,Gof 的書已經給了不少的例子。
在一些模式的實作上,您會發現我用了介面(interface)來取代抽象類別(Abstract class),這與原先的Gof書中的范例會不盡相同,這是因為在C++中沒有介面,一個完全沒有實作任何方法的抽象類別,根據當時描述的主題特性,可以的話會將之換為介面,在語義上會較符合Java語言的特性,但是您要知道的是,介面與完全沒有實作任何方法的抽象類別在某些時候是可以互換的。
在這邊所看到的 UML 圖都是使用 Jude 繪制的,Jude 是一個純 Java 撰寫的 UML 工具程式,可運行與 Windows、Linux 等多個平臺,體積小,使用簡易。
? ? 以下的設計模式則是我個人從 Gof 學習中的個人體會與實作,并增加幾個導入或衍生的簡單模式。
- Creational 模式
- Simple Factory 模式
- Abstract Factory 模式
- Builder 模式
- Factory Method 模式
- Prototype 模式
- Singleton 模式
- Registry of Singleton 模式
?
- Structural 模式
- Default Adapter 模式
- Adapter 模式 - Object Adapter
- Adapter 模式 -?Class Adapter
- Bridge 模式
- Composite 模式
- Decorator 模式
- Facade 模式
- Flyweight 模式
- Proxy 模式(一)
- Proxy 模式(二)
?
- Behavioral 模式
- Chain of Responsibility 模式
- Command 模式
- Interpreter 模式
- Iterator 模式
- Mediator 模式
- Memento 模式
- Observer 模式
- State 模式
- Strategy 模式
- Template Method 模式
- Visitor 模式
?
? ? 在很多應用中都會使用多執行緒,尤其是在Web應用中,多執行緒以 Gof 整理的模式為基礎,考量多執行緒環境中,如何組合這些基本模式來完成多執行緒安全要求。
- Guarded Suspension 模式
- Producer Consumer 模式
- Worker Thread 模式
- Thread-Per-Message 模式
- Future 模式
- Read-Write-Lock 模式
- Two-phase Termination 模式
- Thread-Specific Storage 模式
?
? ? 以下是以Java實作設計模式的介紹網站,從下面的連結開始,當中您可以找到更多設計模式的資源。
- Huston Design Pattern
- The Design Patterns Java Companion
- 板橋里人的 Java 設計模式學習心得
- UML 軟件工程組織
?
總結
以上是生活随笔為你收集整理的非关语言: 设计模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EHCache 初步使用指南
- 下一篇: 使用BlazeDS实现Java和Flex