这两天粗略看了一下建造模式与原型模式。个人觉得没有太多可讲之处,建造模式适合非常复杂的对象的创建,在现实中用应的并不对。简单的说,我们通常喜欢用一个构建函数传很多参,进去构建对象。而创建模式就是将这个过程封装起来。而原型模式,其实就是基于clone(),所以无太多可讲的。
纵观前几小结,讲的都是对象的创建。所以命名为:创建模式,都是用来产生对象,封装对象的产生过程的。总结一下吧:
一、简单工厂模式:用一个工厂来完成一类产品的创建,那么如何保证这产品是同一类产品列?要么继续至某个类,要么实现同一个接口(如果这个接口为空接口,那就是我们所说的标识接口)。
二、工厂方法模式:在简单的工厂上进行改进,对工厂进行抽象,通常的特点就是所有的产品都有自己的创建工厂。
三、抽象产品工厂: 适用于产品族,产品比工厂方法模式的结构更复杂。
四、单例模式:整个应用中,只存在一份实例,所有的人共用这一份实例。
五、多例模式:分为有上限多例模式与无上限多例模式。有上限模式:预无知道产品的实例个数。 无上限多例模式:故名思议,产品数量不确定,我们通常做法是用集合来保存这些对象,那么他与普通的直接new 有什么存区列? 这些对象我们存在集合中,是一直存在于内存中的,我们可以根据他的键(存于MAP中时)来查询出来,重复使用。
六、建造模式:产品内部构造很复杂,它的属性又是独立的对象。书上讲的比较复杂,还有一个类似于工厂的建构者,我而在实际Coding中,我慢习惯,是将这些构建方法,封装在这个类,然后在构建函数中调用。
七、原型模式:这个就不多说了,JAVA语言本身已经提供了直接,直接实现Cloneable接口即可了。
三个工厂模式的都特点都是实例的创建都是交给特定的工厂完成。而单例和多例模式实例的创建,是由自己负责的。那么我们在实际中如何用列?何时用列?
我个人是否样觉得的: 每当你定义一个新的产品类的时候,你想想他的继续关系,想想合适他的模式,如果感觉没有合适的,那就直接new。模式不是非用不可,而在合适的情况下再用。 记得在对象创建的时候,想想适合的他的创建方式
分享到:
相关推荐
学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...
学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...
Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf
笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...
Java基础每日复习笔记-JavaSE高级阶段.edf
尚硅谷康师傅java学习笔记。 、2020-4-5 java学习笔记 2020-4-6 java笔记 ---内部类 2020-4-6 java笔记 ---异常 2020-4-6 java笔记 --多线程 2020-4-8 java笔记 String类 2020-4-9 java 比较器 2020-4-10 java笔记 ...
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...
笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...
【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...