中科永聯高級技術培訓中心(www.itisedu.com)
模式即pattern。其實就是解決某一類問題的方法論。你把解決某類問題的方法總結歸納到理論高度,那就是模式。
Alexander給出的經典定義是:每個模式都描述了一個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重複相同的工作。
模式有不同的領域,建築領域有建築模式,軟體設計領域也有設計模式。當一個領域逐漸成熟的時候,自然會出現很多模式。
為什麼要用模式?
因為模式是一種指導,在一個良好的指導下,有助於你完成任務,有助於你作出一個優良的設計方案,達到事半功倍的效果。而且會得到解決問題的最佳辦法。
常見的設計模式有什麼?
首先,你要了解的是GOF的《設計模式--可復用面向對象軟體的基礎》一書(這個可以說是程式員必備的了),注意:GOF不是一個人,而是指四個人。它的原意是Gangs Of Four,就是“四人幫”,就是指此書的四個作者:Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides。這本書講了23種主要的模式,包括:抽象工廠、適配器、外觀模式等。
還有其他的很多模式,估計有100多種。
MVC模式是1996年由Buschmann提出的:
模型(Model):就是封裝數據和所有基於對這些數據的操作。
視圖(View):就是封裝的是對數據顯示,即用戶界面。
控制器(Control):就是封裝外界作用於模型的操作和對數據流向的控制等。
另外:RUP(Rational Unified Process)軟體統一過程,XP(Extreme Programming)極端編程,這些通常被叫做“過程方法”,是一種軟體項目實施過程的方法論,它是針對軟體項目的實施過程提出的方法策略。也是另一個角度的模式。