好长时间没有写博客,一直感觉再敲设计模式中的代码,突然感觉总结少了些!现在代码基本上敲完了,现在分模块的进行简单的总结:
首先我们看看设计模式中的创建型模式:是用来处理对象创建的,试图根据实际情况使用合适的方式创建对象。其实就是创建新的类或者对象。
一,工厂方法模式(FactoryMethod)
1,定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
2,对应它的结构图:
3,与简单工厂比:工厂方法模式实现时,客户端需要决定实例化那个工厂来实现运算类,选择判断的问题还是存在,也就是说,工厂方法把简单工厂的内部逻辑判断移到了客户端代码来进行。你想要加功能,本来是该工厂类的,而现在是修改客户端。
4,应用举例:学习雷锋帮助人
·
二,抽象工厂模式(AbstractFactory)
1,定义:提供一个创建一系列相关或相互依赖对象的接口而无需指定它们具体的类。
2,基本结构:
3,优缺点:
优点:a,易于交换产品系列,由于具体工厂类,在一个应用中只需要在初始化的时候出现一次,这就使得改变一个应用的具体工厂变得非常容易,只需要改变具体工厂即可使用不同产品配置.b,它让具体的创建实例过程与客户端分离,客户端是通过它们的抽象接口操纵实例,产品的具体类也被具体工厂的实现分离,不会出现在客户代码中。
缺点:对于增加里边的功能,需要修改的类太多!
4,应用举例:不同数据库的相互切换。
三,原型模式(Prototype)
1,定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
2,基本结构:
3,说明:原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。在 .NET平台下提供了ICloneable接口,直接实现即可完成原型模式。其中复制值类型的,对于引用类型不会克隆过来。需要通过深复制(把引用对象的变量指向复制过的新对象)来实现。
4,应用举例:多份简历的打印。
四,建造者模式(Builder):
1,定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
2,基本结构:
3,说明:主要用于创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。是在当创建复杂对象的算法应该独立于该对象的组织部分以及它们的装配方式时使用的一种模式。
4,应用举例:画复杂的人,做饭的流程。
五,单例模式(Singleton)
1,定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
2,基本结构图:
3,说明:类自身负责保存它的唯一实例,这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法,可以受控访问。
4,应用举例:只能弹出一个工具箱。
综上为创建型中的五个设计模式,这里只是简单的定义和类图,真正的理解还需要我们不断的反复实践。
分享到:
相关推荐
菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华菜鸟成长手册2009——CPU-内存-硬盘篇 - 硬件知识精华...
菜鸟也玩LINUX——brk()漏洞重提.pdf
这是设计模式的工厂模式的简单代码,是用的菜鸟教程网站零散例子,在本地实际跑代码。自己给自己做个复习
菜鸟学习ARM——安装交叉编译链记录,及编译jpeg
电子版的Python GUI设计之Tkinter菜鸟编程,一般是扫描图片组成的PDF或网页版 ,不支持查找操作,特整理成Word版并分享。
菜鸟构建个人网站——“纯真年代”建站全过程(五).pdf
浅析我国电商物流未来发展模式———以京东与菜鸟物流的差异化竞争为视角.pdf
本人自己收集的一些比较好的学习设计模式的教程!里面包含了很多种设计模式学习!通俗易懂......QQ:82204642
浅析我国电商物流未来发展模式———以京东与菜鸟物流的差异化竞争为视角
php程序员菜鸟成长手记——php入门教程
这个编程规范很不错,让你知道书上的程序和网上的程序的那些编排,变量的定义为什么是这样定义,因为你不知道在程序界有他们共同的规定,当你了解了这篇文章你的程序会突飞猛进,会让别人一看就是专业人员写出来的...
菜鸟也能玩硬件——CPU篇.pdf
设计模式(菜鸟到高手)
这是设计模式的工厂模式的改善代码版本,用了反射机制,是用的菜鸟教程网站零散例子,在本地实际跑代码。自己给自己做个复习
物联网——智能物流菜鸟京东PPT学习教案.pptx
菜鸟学设计模式(28天)[收集].pdf
java学习进阶之路,如果从一个菜鸟进阶成大神(csdn)————程序
菜鸟也来认参数——通透了解CPU、内存.pdf
从菜鸟到高手系列专题——Linux系统手机应用.pdf
为参加计算机二级VFP编写的一个实用教程,语言通俗易懂