一直想系統的學習設計模式,但是由於各種原因(藉口什麼的),時間有限,人比較笨,自以爲是等等,都沒有系統開始。
離找工作還有一年的時間,要在這一年的時間裏面完全的靠個人來閱讀體會各種設計模式有點困難,更別提爲每一篇設計模式都寫一篇博客,時間上好像有點困難。
所以將自己學習的各種設計模式的博文、網頁等資料彙總在這裏,以後有什麼新的感想再開新篇好了 ↖(^ω^)↗
1、責任鏈模式
http://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html
這篇博文寫的簡單易懂,同時結合tomcat的filter來具體講解,很不錯。
2014-09-01
2、策略模式
http://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html
又是這位的博文 :-( 真羨慕這些能夠把學到的東西講解得這麼透徹的大牛們,大牛這麼多,讓我們這些小菜鳥怎麼活 ~~~~(>_<)~~~~
感覺設計模式什麼的,還是要堅持學習,細細體會,畢竟是教我們怎麼編程的東西,只有與實際結合才能真正掌握,不然學了就忘,kill me..
2014-09-02
空想了一下strategy,卻怎麼也想不出來它的具體內容,悲催,又重新看了一遍:strategy是將一系列的算法的封裝到一個共同的接口中,使算法可以相互替代。使得算法在不影響客戶端程序的前提下發生改變。 三個角色:context角色(持有對strategy對象的引用,被客戶端調用)、strategy角色:抽象策略角色、concretestrategy:具體策略角色。果然,責任道遠①,下回應該能回想起來吧。3、 簡單工廠模式(又:靜態工廠模式)
http://blog.csdn.net/weiwenlongll/article/details/6918164
這篇文章介紹了簡單工廠模式,並舉了JDBC的例子
http://www.cnblogs.com/java-my-life/archive/2012/03/22/2412308.html
這篇文章,出乎意料的寫得有點簡陋,本想看看有什麼切實的應用場景的,不過語言比較流暢,看起來也不怎麼費力
4、 工廠方法模式(又:虛擬構造子模式、多態性工廠模式)
http://www.cnblogs.com/java-my-life/archive/2012/03/25/2416227.html
這篇博文寫的一般,建議直接看百度百科:http://baike.baidu.com/view/1580263.htm?fr=aladdin
工廠方法模式解決了簡單工廠模式不符合OCP的問題
2014-09-03
既然簡單工廠模式的客戶端對工廠依賴太過了,工廠的邏輯太複雜了,那我多建幾個工廠,幾個工廠分工總行了吧。新的品種出來了,我建一個新的工廠就好啦,不影響其他的使用,(~ o ~)~zZ
2014-09-05
5、 抽象工廠模式
http://www.cnblogs.com/cbf4life/archive/2009/12/23/1630612.html
http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html
老實說,看完上面這仨,我的腦袋快宕機了,這周就到此爲止了。下週再開始新的。
回顧回顧,好記性,不如爛筆頭,多敲幾遍 ↖(^ω^)↗
2014-09-03
(⊙o⊙)… 又回顧了一邊UML,今天又看了一遍設計模式,困惑感少了很多。
2014-09-05
6、單例模式
7、建造者模式
8、觀察者模式
9、模板方法模式
模板方法
一個模板方法是定義在抽象類中的,把基本操作方法組合在一起形成一個總算法或一個總行爲的方法。
一個抽象類可以有任意多個模板方法,而不限於一個。每一個模板方法都可以調用任意多個具體方法。
基本方法
基本方法又可以分爲三種:抽象方法(Abstract Method)、具體方法(Concrete Method)和鉤子方法(Hook Method)。
● 抽象方法:一個抽象方法由抽象類聲明,由具體子類實現。在Java語言裏抽象方法以abstract關鍵字標示。
● 具體方法:一個具體方法由抽象類聲明並實現,而子類並不實現或置換。
● 鉤子方法:一個鉤子方法由抽象類聲明並實現,而子類會加以擴展。通常抽象類給出的實現是一個空實現,作爲方法的默認實現。
http://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html