GOF设计模式解析

设计模式之于面向对象系统的设计和开发的作用就有如数据结构之于面向过程开发的作用一般。

面向对象系统的分析和设计实际上追求的就是两点,一是高内聚,二是低耦合。这也是我们软件设计所准求的,因此无论是OO中的封装、继承、多台,还是我们的设计模式的原则和实例都是在为了这两个目标努力着、贡献着。

1.创建型模式

1.1 Factory模式

1.1.1模式结构图

1.1.2模式解析

Factory模式的应用不只是为了封装对象的创建,而是要把对象的创建放在子类中实现:Factory中只是提供了对象创建的接口,其实现在将放在Factory的子类ConcreteFactory中进行。

1.2 AbstactFactory模式

1.2.1模式结构图

1.2.1 模式解析

AbstractFactory模式要创建一组相关或者相互依赖的对象。

1.3 Singleton模式

1.2.1模式结构图

1.3.2 模式解析

Singleton模式通过维护一个static成员变量来记录这个唯一的对象实例,通过提供一个static的接口instance来获得这个唯一的实例,需要说明的是Singleton不可以被实例化。

1.4 Builder模式

1.4.1 模式结构图

1.4.4 模式解析

Builder模式:当要创建的对象很复杂的时候(通常是由很多其他的对象组合而成),我们要复杂对象的创建过程和这个对象的表示分离开来,这样做的好处就是通过一步步的进行复杂对象的构建,由于在每一步的构造过程中可以引入参数,使得经过相同的步骤创建最后得到的对象的展示不一样。

时间: 2024-10-19 21:24:49

GOF设计模式解析的相关文章

研磨设计模式解析及python代码实现——(一)简单工厂模式

最近在学设计模式,正巧书之前学了些python,但用的还不是很成熟.<研磨设计模式>书上只给了java代码,本着以练手为目标,我照着书上打了一遍java代码,在仔细体会其思想后,将其写成了python的代码.有不对的地方希望各位批评指正~ 具体原理不多做介绍,具体可以参考http://chjavach.iteye.com的博客,或者<研磨设计模式>的书. 一.背景介绍 接口思想: 众所周知,面向对象语言最大的特点便是封装,继承,多态这三个概念.而像Java等面向对象语言最核心的思想

研磨设计模式解析及python代码实现——(三)适配器模式(Adapter)

一.适配器模式定义 将一个类的接口转换成另外一个接口,适配器模式使得原本由于接口不兼容,而不能在一起工作的哪些类能够在一起工作. 二.python 实现 1 import string 2 import cPickle as p 3 import datetime 4 import os 5 class LogModel: 6 logId="" 7 operateUser="" 8 operateTime="" 9 logContent=&quo

研磨设计模式解析及python代码实现——(二)外观模式(Facade)

一.外观模式定义 为子系统中的一组接口提供一个一致的界面,使得此子系统更加容易使用. 二.书中python代码实现 1 class AModuleApi: 2 def testA(self): 3 pass 4 class AModuleImpl(AModuleApi): 5 def testA(self): 6 print "Now Call testA in AModule!" 7 class BModuleApi: 8 def testB(self): 9 pass 10 cla

初识设计模式解析

学习设计模式源自:http://blog.csdn.net/bboyfeiyu?viewmode=contents 以及与之相关的书籍:<Android源码设计模式---解析与实战> 优秀的思想.架构.设计模式:Android是一个开源的系统,很多优秀的思想.架构.设计模式必然在它的源码中得到体现.从学习"Hello World"开始,我们都是先从学习他人如何做,然后再到学着做,最后经过自己的理解与思考再到自己做.因此学习这些优秀的实现正是我们每个开发人员成长过程中的重要一

Retrofit源码设计模式解析(下)

本文将接着<Retrofit源码设计模式解析(上)>,继续分享以下设计模式在Retrofit中的应用: 适配器模式 策略模式 观察者模式 单例模式 原型模式 享元模式 一.适配器模式 在上篇说明CallAdapter.Factory使用工厂模式时,提到CallAdapter本身采用了适配器模式.适配器模式将一个接口转换成客户端希望的另一个接口,使接口本不兼容的类可以一起工作. Call接口是Retrofit内置的发送请求给服务器并且返回响应体的调用接口,包括同步.异步请求,查询.取消.复制等功

《Android源码设计模式解析》读书笔记——Android中你应该知道的设计模式

断断续续的,<Android源码设计模式解析>也看了一遍,书中提到了很多的设计模式,但是有部分在开发中见到的几率很小,所以掌握不了也没有太大影响. 我觉得这本书的最大价值有两点,一个是从设计模式的角度去理解Android源码,结合着日常开发中的常用类,对设计模式的理解会更加的深刻:另外一个好处就是了解常用模式,再看其他人写的代码的时候,更容易理解代码思路.下面是我的读书笔记和一些思考,设计模式只整理我认为重要的部分. 建造者模式 建造者模式最明显的标志就是Build类,而在Android中最常

《Android源码设计模式解析与实战》读书笔记(十三)

第十三章.备忘录模式 备忘录模式是一种行为模式,该模式用于保存对象当前的状态,并且在之后可以再次恢复到此状态,有点像是我们平常说的"后悔药". 1.定义 在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样,以后就可将该对象恢复到原先保存的状态. 2.使用场景 (1)需要保存一个对象在某一个时刻的状态或部分状态. (2)如果用一个接口来让其他对象得到这些状态,将会暴露对象的实现细节并破坏对象的封装性,一个对象不希望外界直接访问其内部状态,通过中间对象可以间接访

Gof 设计模式 、MVC 编程模式

主题: Gof 设计模式 .MVC 设计模式 名词解释: OOP  (面向对象程序设计) 接口 抽象类 Refactoring(重构方法) GoF(Gang of Four),中文名——四人组.GoF是一种设计模式. via http://baike.so.com/doc/176639.html Model–view–controller (MVC) via http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller 有力

设计模式解析学习(一)

虽然一直的以为自己掌握了面向对象的编程,但是在实际的开发过程中对需求的变化感到力不从心,才认识到自己的oop基础并不牢固.痛定思痛,决定找一本设计模式的书好好的打打基础,也期望能够解决工作中的一些疑惑. 1.UML图 类图几个的原语: 继承(Generalization): 实现(Realization):  依赖(Dependency): 聚合(Aggeration): 组合(Composition): 2.CAD/CAM的标准面向对象解决方案 3.门面模式 目的:简化原有系统的使用方式 4.