一直想系统的学习设计模式,但是由于各种原因(借口什么的),时间有限,人比较笨,自以为是等等,都没有系统开始。
离找工作还有一年的时间,要在这一年的时间里面完全的靠个人来阅读体会各种设计模式有点困难,更别提为每一篇设计模式都写一篇博客,时间上好像有点困难。
所以将自己学习的各种设计模式的博文、网页等资料汇总在这里,以后有什么新的感想再开新篇好了 ↖(^ω^)↗
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、 简单工厂模式(又:静态工厂模式)
![](https://i-blog.csdnimg.cn/blog_migrate/27ed1f3bd08f589f21178ea43e70bae7.png)
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