我思故我強(qiáng)

          Java 設(shè)計(jì)模式與建模專(zhuān)題-設(shè)計(jì)模式


          Factory Method 模式
          Singleton 模式
          Observer 模式
          State 模式
          控制反轉(zhuǎn)(IoC)模式
          Single Call 模式
          其它模式
          反模式
          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式
          使用設(shè)計(jì)模式改善程序結(jié)構(gòu)



          本專(zhuān)題為 Java 軟件工程師們提供了面向 Java 的設(shè)計(jì)模式和建模方面相關(guān)的文章和教程。幫助讀者理解、學(xué)習(xí)作為專(zhuān)業(yè)軟件工程師必需掌握的設(shè)計(jì)模式與建模技術(shù)。


          Factory Method 模式

          Factory Method 模式在 Javamail 中的應(yīng)用
          設(shè)計(jì)模式在軟件工程中占有重要地位,而 JavaMail 是 Java 平臺(tái)的一個(gè)擴(kuò)展,為管理電子郵件提供了統(tǒng)一的應(yīng)用編程接口。本文討論 Factory Method 設(shè)計(jì)模式在Javamail 中的應(yīng)用。

          在 Java 中應(yīng)用設(shè)計(jì)模式 - Factory Method
          在設(shè)計(jì)模式中,Factory Method也是比較簡(jiǎn)單的一個(gè),但應(yīng)用非常廣泛,EJB,RMI,COM,CORBA,Swing中都可以看到此模式的影子,它是最重要的模式之一。在很多地方我們都會(huì)看到xxxFactory這樣命名的類(lèi),那么,什么是Factory Method,為什么要用這個(gè)模式,如何用Java語(yǔ)言來(lái)實(shí)現(xiàn)該模式,這就是本文想要帶給大家的內(nèi)容。

          Factory 模式的優(yōu)點(diǎn)
          最常見(jiàn)的構(gòu)造一個(gè) Object 的方法是通過(guò)構(gòu)造函數(shù). 例: String strTemp = new String('Hello World'); 其實(shí)還有一種一種更靈活的創(chuàng)建Object 的方式---利用Factory 模式. 這是著名的'四人幫'(Gangs Of Four)的經(jīng)典之作'設(shè)計(jì)模式'[(Design Pattern) 所記載的23模式之一. 它有著構(gòu)造函數(shù)不可比擬的一些優(yōu)點(diǎn).




          Singleton 模式

          在 Java 中應(yīng)用設(shè)計(jì)模式 -- Singleton
          本文介紹了設(shè)計(jì)模式中 Singleton 的基本概念,對(duì)其功能和用途進(jìn)行了簡(jiǎn)單的分析,列出了通常實(shí)現(xiàn) Singleton 的幾種方法,并給出了詳細(xì)的Java 代碼。




          Observer 模式

          Observer 模式在 J2EE 中的實(shí)現(xiàn)
          設(shè)計(jì)模式是經(jīng)驗(yàn)的文檔化。它是對(duì)被用來(lái)在特定場(chǎng)景下解決一般設(shè)計(jì)問(wèn)題的類(lèi)和相互通信的對(duì)象的描述。更通俗的來(lái)說(shuō),它是一個(gè)問(wèn)題/解決方案對(duì)。一旦我們掌握了設(shè)計(jì)模式,就等于擁有了一支強(qiáng)有力的專(zhuān)家隊(duì)伍。它甚至能夠使面向?qū)ο蟮男率掷们叭说慕?jīng)驗(yàn)找出職責(zé)明確的類(lèi)和對(duì)象,從而獲得優(yōu)雅的解決方案。




          State 模式

          State 模式在客戶(hù)端軟件中的應(yīng)用
          在對(duì)一個(gè) J2EE 項(xiàng)目的重構(gòu)、增加新功能的過(guò)程中,對(duì)客戶(hù)端 GUI 程序,我們使用了 State 模式。結(jié)果顯示,該模式的使用,不但減少了客戶(hù)端 GUI 程序的程序規(guī)模(LOC),而且,該部分的開(kāi)發(fā)及單元測(cè)試時(shí)間大大減少,同時(shí),在集成測(cè)試中發(fā)現(xiàn)的缺陷數(shù)量比使用該模式前平均減少了3倍。本文就該項(xiàng)目中使用 State 模式的方式進(jìn)行介紹。




          控制反轉(zhuǎn)(IoC)模式

          在方法簽名中使用控制反轉(zhuǎn)(IoC)
          控制反轉(zhuǎn)(IoC)模式通常用于組件。本文描述了如何對(duì)方法簽名使用該模式,以減少組件間的耦合并改善性能。IBM Global Business Services 顧問(wèn) Andr Fachat 用兩個(gè)例子展示了這種方法的靈活性。




          Single Call 模式

          Single Call 模式
          在本文中,作者向大家講述了 Single Call 模式的原理,同時(shí)也介紹了 Single Call 模式的實(shí)現(xiàn)問(wèn)題。




          其它模式

          Java 設(shè)計(jì)模式 201:超越四人組
          您可以在本教程中發(fā)現(xiàn),到底還有多少設(shè)計(jì)模式您不知道。首先,我們會(huì)探討一些資源,學(xué)習(xí)設(shè)計(jì)模式的新手通常會(huì)忽略它們。這些資源為各種計(jì)算領(lǐng)域(如商業(yè)應(yīng)用程序、Web 應(yīng)用程序,甚至 Web 設(shè)計(jì))提供了極為有用的模式。

          界面組裝器模式
          本文提出了一種界面設(shè)計(jì)中的架構(gòu)模式-界面組裝器模式,它致力于分解界面,將界面和組裝行為解耦,將界面邏輯處理與領(lǐng)域邏輯處理解耦,這樣我們?cè)陂_(kāi)發(fā) GUI 胖客戶(hù)端界面應(yīng)用時(shí)可以從眾多的界面控制管理中解脫出來(lái),而專(zhuān)注于我們的后臺(tái)業(yè)務(wù)邏輯的開(kāi)發(fā)。通過(guò)該模式,我們可以動(dòng)態(tài)地組裝我們的界面,我們甚至還可以在我們的界面中輕松地插入 transaction 事務(wù)或 session 會(huì)話(huà)管理。

          數(shù)據(jù)校驗(yàn)器架構(gòu)模式組
          本文闡述軟件架構(gòu)與設(shè)計(jì)模式,它為架構(gòu)師和開(kāi)發(fā)人員提供了一組關(guān)于數(shù)據(jù)校驗(yàn)的架構(gòu)模式(隔離校驗(yàn)器,可組裝校驗(yàn)器,動(dòng)態(tài)策略校驗(yàn)器,動(dòng)態(tài)注冊(cè)校驗(yàn)器等),數(shù)據(jù)校驗(yàn)是任何類(lèi)型的開(kāi)發(fā)中都不可或缺的環(huán)節(jié),如果沒(méi)有統(tǒng)一的架構(gòu),可能校驗(yàn)代碼會(huì)遍布整個(gè)應(yīng)用,如何將數(shù)據(jù)校驗(yàn)與應(yīng)用邏輯解耦,如何適應(yīng)各種粒度的數(shù)據(jù)和各種復(fù)雜程度業(yè)務(wù)規(guī)則,正是本文要探討的。




          反模式

          反模式可以如何提高編程
          設(shè)計(jì)模式對(duì)軟件開(kāi)發(fā)來(lái)說(shuō)很重要,這一點(diǎn)從它在技術(shù)貿(mào)易新聞中所占的數(shù)量就可見(jiàn)一斑。不過(guò),鑒于其在開(kāi)發(fā)過(guò)程中的實(shí)用性,設(shè)計(jì)模式只解決了問(wèn)題的一半。反模式 ― 描述“對(duì)產(chǎn)生絕對(duì)負(fù)面結(jié)果的問(wèn)題的一種常用解決方案” ― 旨在通過(guò)向 Java 程序員展示如何避免常見(jiàn)的 Java 陷阱來(lái)解決問(wèn)題的另一半。




          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式

          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式,第一部分
          在這一部分的內(nèi)容中,介紹的是一個(gè)相對(duì)簡(jiǎn)單但功能強(qiáng)大的模式:Observer 模式。希望通過(guò)這部分地?cái)⑹?,大家看了之后,能夠?qū)υO(shè)計(jì)模式有一個(gè)比較全面地,感性的認(rèn)識(shí)。

          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式,第二部分
          這部分及以后的內(nèi)容,將會(huì)步入正題,從 Java 類(lèi)庫(kù)的分析入手,來(lái)闡敘設(shè)計(jì)模式是如何應(yīng)用到一個(gè)完美的設(shè)計(jì)中的。實(shí)際上,Java 類(lèi)庫(kù)非常的龐雜,這兒不可能把所有能夠找到的設(shè)計(jì)模式的例子一一列舉,只是找了一些容易發(fā)現(xiàn)的例子。實(shí)際上也沒(méi)有必要,因?yàn)橹灰獙?duì)一個(gè)設(shè)計(jì)模式有足夠的理解,對(duì)于它的具體應(yīng)用而言,倒是一件不是很困難的事情。

          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式,第三部分
          主要介紹幾個(gè)結(jié)構(gòu)型的模式如 Bridge 模式和 Decorator 模式。對(duì)于 Bridge 模式可能需要更多的理解,因?yàn)樗诤艽蟪潭壬险f(shuō),例示了設(shè)計(jì)模式的基本的設(shè)計(jì)思路和原則。

          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式,第四部分
          在上一部分中,介紹了兩個(gè)結(jié)構(gòu)型的模式:Bridge和Decorator。這一部分的內(nèi)容,將會(huì)接著上面的講解,繼續(xù)我們的設(shè)計(jì)模式之旅。

          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式,第五部分
          有了前面諸多設(shè)計(jì)模式的基礎(chǔ),這兒可以提出一個(gè)比較特殊的模式 MVC。MVC并不屬于 GOF 的 23 個(gè)設(shè)計(jì)模式之列,但是它在 GOF 的書(shū)中作為一個(gè)重要的例子被提出來(lái),并給予了很高的評(píng)價(jià)。一般的來(lái)講,我們認(rèn)為GOF的23個(gè)模式是一些中級(jí)的模式,在它下面還可以抽象出一些更為一般的低層的模式,在其上也可以通過(guò)組合來(lái)得到一些高級(jí)的模式。MVC就可以看作是一些模式進(jìn)行組合之后的結(jié)果(實(shí)際上,MVC的出現(xiàn)要早于設(shè)計(jì)模式的提出,這而只是對(duì)它在設(shè)計(jì)模式的基礎(chǔ)上進(jìn)行在分析)。如果沒(méi)有前面的基礎(chǔ),理解MVC或許會(huì)有一些困難。




          使用設(shè)計(jì)模式改善程序結(jié)構(gòu)

          使用設(shè)計(jì)模式改善程序結(jié)構(gòu)(一)
          設(shè)計(jì)模式是對(duì)特定問(wèn)題經(jīng)過(guò)無(wú)數(shù)次經(jīng)驗(yàn)總結(jié)后提出的能夠解決它的優(yōu)雅的方案。但是,如果想要真正使設(shè)計(jì)模式發(fā)揮最大作用,僅僅知道設(shè)計(jì)模式是什么,以及它是如何實(shí)現(xiàn)的是很不夠的,因?yàn)槟菢泳筒荒苁鼓銓?duì)于設(shè)計(jì)模式有真正的理解,也就不能夠在自己的設(shè)計(jì)中正確、恰當(dāng)?shù)氖褂迷O(shè)計(jì)模式。本文試圖從另一個(gè)角度(設(shè)計(jì)模式的意圖、動(dòng)機(jī))來(lái)看待設(shè)計(jì)模式,通過(guò)這種新的思路,設(shè)計(jì)模式會(huì)變得非常貼近你的設(shè)計(jì)過(guò)程,并且能夠指導(dǎo)、簡(jiǎn)化你的設(shè)計(jì),最終將會(huì)導(dǎo)出一個(gè)優(yōu)秀的解決方案。

          使用設(shè)計(jì)模式改善程序結(jié)構(gòu)(二)
          在本系列的第一篇文章中,描述了如何通過(guò)設(shè)計(jì)模式來(lái)指導(dǎo)我們的程序重構(gòu)過(guò)程,并且著重介紹了設(shè)計(jì)模式意圖、動(dòng)機(jī)的重要性。在本文中我們將繼續(xù)上篇文章進(jìn)行討論,這次主要著重于設(shè)計(jì)模式的適用性,對(duì)于設(shè)計(jì)模式適用性的掌握有助于從另一個(gè)不同的方面來(lái)判斷一個(gè)設(shè)計(jì)模式是否真正適用于我們的實(shí)際問(wèn)題,從而做出明智的選擇。

          使用設(shè)計(jì)模式改善程序結(jié)構(gòu)(三)
          設(shè)計(jì)模式在某種程度上確實(shí)能夠改善我們的程序結(jié)構(gòu),使設(shè)計(jì)具有更好的彈性。也正是由于這個(gè)原因,會(huì)導(dǎo)致我們可能過(guò)度的使用它。程序結(jié)構(gòu)具有過(guò)度的、不必要的靈活性和程序結(jié)構(gòu)沒(méi)有靈活性一樣都是有害的

          設(shè)計(jì)模式 Java 建模

          Factory Method 模式
          Singleton 模式
          Observer 模式
          State 模式
          控制反轉(zhuǎn)(IoC)模式
          Single Call 模式
          其它模式
          反模式
          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式
          使用設(shè)計(jì)模式改善程序結(jié)構(gòu)



          本專(zhuān)題為 Java 軟件工程師們提供了面向 Java 的設(shè)計(jì)模式和建模方面相關(guān)的文章和教程。幫助讀者理解、學(xué)習(xí)作為專(zhuān)業(yè)軟件工程師必需掌握的設(shè)計(jì)模式與建模技術(shù)。


          Factory Method 模式

          Factory Method 模式在 Javamail 中的應(yīng)用
          設(shè)計(jì)模式在軟件工程中占有重要地位,而 JavaMail 是 Java 平臺(tái)的一個(gè)擴(kuò)展,為管理電子郵件提供了統(tǒng)一的應(yīng)用編程接口。本文討論 Factory Method 設(shè)計(jì)模式在Javamail 中的應(yīng)用。

          在 Java 中應(yīng)用設(shè)計(jì)模式 - Factory Method
          在設(shè)計(jì)模式中,Factory Method也是比較簡(jiǎn)單的一個(gè),但應(yīng)用非常廣泛,EJB,RMI,COM,CORBA,Swing中都可以看到此模式的影子,它是最重要的模式之一。在很多地方我們都會(huì)看到xxxFactory這樣命名的類(lèi),那么,什么是Factory Method,為什么要用這個(gè)模式,如何用Java語(yǔ)言來(lái)實(shí)現(xiàn)該模式,這就是本文想要帶給大家的內(nèi)容。

          Factory 模式的優(yōu)點(diǎn)
          最常見(jiàn)的構(gòu)造一個(gè) Object 的方法是通過(guò)構(gòu)造函數(shù). 例: String strTemp = new String('Hello World'); 其實(shí)還有一種一種更靈活的創(chuàng)建Object 的方式---利用Factory 模式. 這是著名的'四人幫'(Gangs Of Four)的經(jīng)典之作'設(shè)計(jì)模式'[(Design Pattern) 所記載的23模式之一. 它有著構(gòu)造函數(shù)不可比擬的一些優(yōu)點(diǎn).




          Singleton 模式

          在 Java 中應(yīng)用設(shè)計(jì)模式 -- Singleton
          本文介紹了設(shè)計(jì)模式中 Singleton 的基本概念,對(duì)其功能和用途進(jìn)行了簡(jiǎn)單的分析,列出了通常實(shí)現(xiàn) Singleton 的幾種方法,并給出了詳細(xì)的Java 代碼。




          Observer 模式

          Observer 模式在 J2EE 中的實(shí)現(xiàn)
          設(shè)計(jì)模式是經(jīng)驗(yàn)的文檔化。它是對(duì)被用來(lái)在特定場(chǎng)景下解決一般設(shè)計(jì)問(wèn)題的類(lèi)和相互通信的對(duì)象的描述。更通俗的來(lái)說(shuō),它是一個(gè)問(wèn)題/解決方案對(duì)。一旦我們掌握了設(shè)計(jì)模式,就等于擁有了一支強(qiáng)有力的專(zhuān)家隊(duì)伍。它甚至能夠使面向?qū)ο蟮男率掷们叭说慕?jīng)驗(yàn)找出職責(zé)明確的類(lèi)和對(duì)象,從而獲得優(yōu)雅的解決方案。




          State 模式

          State 模式在客戶(hù)端軟件中的應(yīng)用
          在對(duì)一個(gè) J2EE 項(xiàng)目的重構(gòu)、增加新功能的過(guò)程中,對(duì)客戶(hù)端 GUI 程序,我們使用了 State 模式。結(jié)果顯示,該模式的使用,不但減少了客戶(hù)端 GUI 程序的程序規(guī)模(LOC),而且,該部分的開(kāi)發(fā)及單元測(cè)試時(shí)間大大減少,同時(shí),在集成測(cè)試中發(fā)現(xiàn)的缺陷數(shù)量比使用該模式前平均減少了3倍。本文就該項(xiàng)目中使用 State 模式的方式進(jìn)行介紹。




          控制反轉(zhuǎn)(IoC)模式

          在方法簽名中使用控制反轉(zhuǎn)(IoC)
          控制反轉(zhuǎn)(IoC)模式通常用于組件。本文描述了如何對(duì)方法簽名使用該模式,以減少組件間的耦合并改善性能。IBM Global Business Services 顧問(wèn) Andr Fachat 用兩個(gè)例子展示了這種方法的靈活性。




          Single Call 模式

          Single Call 模式
          在本文中,作者向大家講述了 Single Call 模式的原理,同時(shí)也介紹了 Single Call 模式的實(shí)現(xiàn)問(wèn)題。




          其它模式

          Java 設(shè)計(jì)模式 201:超越四人組
          您可以在本教程中發(fā)現(xiàn),到底還有多少設(shè)計(jì)模式您不知道。首先,我們會(huì)探討一些資源,學(xué)習(xí)設(shè)計(jì)模式的新手通常會(huì)忽略它們。這些資源為各種計(jì)算領(lǐng)域(如商業(yè)應(yīng)用程序、Web 應(yīng)用程序,甚至 Web 設(shè)計(jì))提供了極為有用的模式。

          界面組裝器模式
          本文提出了一種界面設(shè)計(jì)中的架構(gòu)模式-界面組裝器模式,它致力于分解界面,將界面和組裝行為解耦,將界面邏輯處理與領(lǐng)域邏輯處理解耦,這樣我們?cè)陂_(kāi)發(fā) GUI 胖客戶(hù)端界面應(yīng)用時(shí)可以從眾多的界面控制管理中解脫出來(lái),而專(zhuān)注于我們的后臺(tái)業(yè)務(wù)邏輯的開(kāi)發(fā)。通過(guò)該模式,我們可以動(dòng)態(tài)地組裝我們的界面,我們甚至還可以在我們的界面中輕松地插入 transaction 事務(wù)或 session 會(huì)話(huà)管理。

          數(shù)據(jù)校驗(yàn)器架構(gòu)模式組
          本文闡述軟件架構(gòu)與設(shè)計(jì)模式,它為架構(gòu)師和開(kāi)發(fā)人員提供了一組關(guān)于數(shù)據(jù)校驗(yàn)的架構(gòu)模式(隔離校驗(yàn)器,可組裝校驗(yàn)器,動(dòng)態(tài)策略校驗(yàn)器,動(dòng)態(tài)注冊(cè)校驗(yàn)器等),數(shù)據(jù)校驗(yàn)是任何類(lèi)型的開(kāi)發(fā)中都不可或缺的環(huán)節(jié),如果沒(méi)有統(tǒng)一的架構(gòu),可能校驗(yàn)代碼會(huì)遍布整個(gè)應(yīng)用,如何將數(shù)據(jù)校驗(yàn)與應(yīng)用邏輯解耦,如何適應(yīng)各種粒度的數(shù)據(jù)和各種復(fù)雜程度業(yè)務(wù)規(guī)則,正是本文要探討的。




          反模式

          反模式可以如何提高編程
          設(shè)計(jì)模式對(duì)軟件開(kāi)發(fā)來(lái)說(shuō)很重要,這一點(diǎn)從它在技術(shù)貿(mào)易新聞中所占的數(shù)量就可見(jiàn)一斑。不過(guò),鑒于其在開(kāi)發(fā)過(guò)程中的實(shí)用性,設(shè)計(jì)模式只解決了問(wèn)題的一半。反模式 ― 描述“對(duì)產(chǎn)生絕對(duì)負(fù)面結(jié)果的問(wèn)題的一種常用解決方案” ― 旨在通過(guò)向 Java 程序員展示如何避免常見(jiàn)的 Java 陷阱來(lái)解決問(wèn)題的另一半。




          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式

          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式,第一部分
          在這一部分的內(nèi)容中,介紹的是一個(gè)相對(duì)簡(jiǎn)單但功能強(qiáng)大的模式:Observer 模式。希望通過(guò)這部分地?cái)⑹觯蠹铱戳酥螅軌驅(qū)υO(shè)計(jì)模式有一個(gè)比較全面地,感性的認(rèn)識(shí)。

          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式,第二部分
          這部分及以后的內(nèi)容,將會(huì)步入正題,從 Java 類(lèi)庫(kù)的分析入手,來(lái)闡敘設(shè)計(jì)模式是如何應(yīng)用到一個(gè)完美的設(shè)計(jì)中的。實(shí)際上,Java 類(lèi)庫(kù)非常的龐雜,這兒不可能把所有能夠找到的設(shè)計(jì)模式的例子一一列舉,只是找了一些容易發(fā)現(xiàn)的例子。實(shí)際上也沒(méi)有必要,因?yàn)橹灰獙?duì)一個(gè)設(shè)計(jì)模式有足夠的理解,對(duì)于它的具體應(yīng)用而言,倒是一件不是很困難的事情。

          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式,第三部分
          主要介紹幾個(gè)結(jié)構(gòu)型的模式如 Bridge 模式和 Decorator 模式。對(duì)于 Bridge 模式可能需要更多的理解,因?yàn)樗诤艽蟪潭壬险f(shuō),例示了設(shè)計(jì)模式的基本的設(shè)計(jì)思路和原則。

          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式,第四部分
          在上一部分中,介紹了兩個(gè)結(jié)構(gòu)型的模式:Bridge和Decorator。這一部分的內(nèi)容,將會(huì)接著上面的講解,繼續(xù)我們的設(shè)計(jì)模式之旅。

          從 Java 類(lèi)庫(kù)看設(shè)計(jì)模式,第五部分
          有了前面諸多設(shè)計(jì)模式的基礎(chǔ),這兒可以提出一個(gè)比較特殊的模式 MVC。MVC并不屬于 GOF 的 23 個(gè)設(shè)計(jì)模式之列,但是它在 GOF 的書(shū)中作為一個(gè)重要的例子被提出來(lái),并給予了很高的評(píng)價(jià)。一般的來(lái)講,我們認(rèn)為GOF的23個(gè)模式是一些中級(jí)的模式,在它下面還可以抽象出一些更為一般的低層的模式,在其上也可以通過(guò)組合來(lái)得到一些高級(jí)的模式。MVC就可以看作是一些模式進(jìn)行組合之后的結(jié)果(實(shí)際上,MVC的出現(xiàn)要早于設(shè)計(jì)模式的提出,這而只是對(duì)它在設(shè)計(jì)模式的基礎(chǔ)上進(jìn)行在分析)。如果沒(méi)有前面的基礎(chǔ),理解MVC或許會(huì)有一些困難。




          使用設(shè)計(jì)模式改善程序結(jié)構(gòu)

          使用設(shè)計(jì)模式改善程序結(jié)構(gòu)(一)
          設(shè)計(jì)模式是對(duì)特定問(wèn)題經(jīng)過(guò)無(wú)數(shù)次經(jīng)驗(yàn)總結(jié)后提出的能夠解決它的優(yōu)雅的方案。但是,如果想要真正使設(shè)計(jì)模式發(fā)揮最大作用,僅僅知道設(shè)計(jì)模式是什么,以及它是如何實(shí)現(xiàn)的是很不夠的,因?yàn)槟菢泳筒荒苁鼓銓?duì)于設(shè)計(jì)模式有真正的理解,也就不能夠在自己的設(shè)計(jì)中正確、恰當(dāng)?shù)氖褂迷O(shè)計(jì)模式。本文試圖從另一個(gè)角度(設(shè)計(jì)模式的意圖、動(dòng)機(jī))來(lái)看待設(shè)計(jì)模式,通過(guò)這種新的思路,設(shè)計(jì)模式會(huì)變得非常貼近你的設(shè)計(jì)過(guò)程,并且能夠指導(dǎo)、簡(jiǎn)化你的設(shè)計(jì),最終將會(huì)導(dǎo)出一個(gè)優(yōu)秀的解決方案。

          使用設(shè)計(jì)模式改善程序結(jié)構(gòu)(二)
          在本系列的第一篇文章中,描述了如何通過(guò)設(shè)計(jì)模式來(lái)指導(dǎo)我們的程序重構(gòu)過(guò)程,并且著重介紹了設(shè)計(jì)模式意圖、動(dòng)機(jī)的重要性。在本文中我們將繼續(xù)上篇文章進(jìn)行討論,這次主要著重于設(shè)計(jì)模式的適用性,對(duì)于設(shè)計(jì)模式適用性的掌握有助于從另一個(gè)不同的方面來(lái)判斷一個(gè)設(shè)計(jì)模式是否真正適用于我們的實(shí)際問(wèn)題,從而做出明智的選擇。

          使用設(shè)計(jì)模式改善程序結(jié)構(gòu)(三)
          設(shè)計(jì)模式在某種程度上確實(shí)能夠改善我們的程序結(jié)構(gòu),使設(shè)計(jì)具有更好的彈性。也正是由于這個(gè)原因,會(huì)導(dǎo)致我們可能過(guò)度的使用它。程序結(jié)構(gòu)具有過(guò)度的、不必要的靈活性和程序結(jié)構(gòu)沒(méi)有靈活性一樣都是有害的

          posted on 2009-10-22 17:27 李云澤 閱讀(267) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 設(shè)計(jì)模式

          主站蜘蛛池模板: 巩留县| 岳西县| 隆化县| 北碚区| 宽甸| 西和县| 淮南市| 丰都县| 图片| 灵川县| 澄迈县| 盖州市| 鹤庆县| 江川县| 迁安市| 石家庄市| 依兰县| 嘉善县| 怀来县| 西贡区| 栾城县| 五家渠市| 二连浩特市| 仁寿县| 阳山县| 磐安县| 讷河市| 伊吾县| 宁夏| 于田县| 安仁县| 长海县| 丹江口市| 巨鹿县| 蒙山县| 广宗县| 涟水县| 岳阳市| 龙门县| 攀枝花市| 清涧县|