`

《java与模式》读书笔记之八----阶段小结

    博客分类:
  • java
 
阅读更多

 

这两天粗略看了一下建造模式与原型模式。个人觉得没有太多可讲之处,建造模式适合非常复杂的对象的创建,在现实中用应的并不对。简单的说,我们通常喜欢用一个构建函数传很多参,进去构建对象。而创建模式就是将这个过程封装起来。而原型模式,其实就是基于clone(),所以无太多可讲的。

 

纵观前几小结,讲的都是对象的创建。所以命名为:创建模式,都是用来产生对象,封装对象的产生过程的。总结一下吧:

 

一、简单工厂模式:用一个工厂来完成一类产品的创建,那么如何保证这产品是同一类产品列?要么继续至某个类,要么实现同一个接口(如果这个接口为空接口,那就是我们所说的标识接口)。

 

二、工厂方法模式:在简单的工厂上进行改进,对工厂进行抽象,通常的特点就是所有的产品都有自己的创建工厂。

 

三、抽象产品工厂: 适用于产品族,产品比工厂方法模式的结构更复杂。

 

四、单例模式:整个应用中,只存在一份实例,所有的人共用这一份实例。

 

五、多例模式:分为有上限多例模式与无上限多例模式。有上限模式:预无知道产品的实例个数。 无上限多例模式:故名思议,产品数量不确定,我们通常做法是用集合来保存这些对象,那么他与普通的直接new 有什么存区列? 这些对象我们存在集合中,是一直存在于内存中的,我们可以根据他的键(存于MAP中时)来查询出来,重复使用。

 

六、建造模式:产品内部构造很复杂,它的属性又是独立的对象。书上讲的比较复杂,还有一个类似于工厂的建构者,我而在实际Coding中,我慢习惯,是将这些构建方法,封装在这个类,然后在构建函数中调用。

 

七、原型模式:这个就不多说了,JAVA语言本身已经提供了直接,直接实现Cloneable接口即可了。

 

 

三个工厂模式的都特点都是实例的创建都是交给特定的工厂完成。而单例和多例模式实例的创建,是由自己负责的。那么我们在实际中如何用列?何时用列?

 

我个人是否样觉得的: 每当你定义一个新的产品类的时候,你想想他的继续关系,想想合适他的模式,如果感觉没有合适的,那就直接new。模式不是非用不可,而在合适的情况下再用。 记得在对象创建的时候,想想适合的他的创建方式

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics