设计模式的使用,增加了代码的可维护性、可扩展性、可复用性和灵活性,而设计模式的六大原则为知道方针,也是设计模式的核心。
设计模式中常用的六大原则为:
一、单一职责原则(Single Responsibility Principle,SRP)
定义:一个对象应该只包含单一职责,并且该这则被完整的封装在一个类当中。确切的解释是,就一个类...
分类:
其他好文 时间:
2014-05-18 18:45:12
阅读次数:
238
设计模式中,真的有的长的很像的,甚至我们能从其中一个的类图直接演变为另一种类图。快,现在让我们来看看那些我们认识的姊妹图。
第一组:模板方法PK 建造者模式PK 工厂方法
模板方法 建造者模式 工厂方法
三者比较:相同点,主要思想都是定义一个框架,然后将一些步骤延迟到子类。
不同点,首先,模板方法模式是行为型模式,而建造者模式工厂方法都是创建型模式。
两两比较:模板VS 建造者
建造者模式用到模板方法,他们两个的使用范围区分就看构建的算法是否需要另外创建一个类。
而承担这...
分类:
其他好文 时间:
2014-05-18 18:30:27
阅读次数:
307
当我们要完成在某一细节层次上一致的一个过程或一系列步骤,但在其个别步骤的一个更详细层次上实现不同时,可以考虑使用模板方法模式。
模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变算法的结构即可重定义算法的某些特定步骤。
AbstractClass是一个抽象类,其实就是一个抽象模板,定义并实现了一个模板方法,这个模板方法一般一个具...
分类:
其他好文 时间:
2014-05-18 15:55:36
阅读次数:
263
”大风车吱呀吱悠悠的转,这里的风景啊真好看,天好看,地好看,还有一群快乐的小伙伴,大风车转呀转悠悠,快乐的伙伴手牵着手,牵着你的手,牵着我的手......“童年的美好时光因为有了《动画城》的陪伴而倍感幸福,那个时候,家里有一台古董式的电视机,是一台黑白电视机,转台的时候需要通过电视机上面的那些按钮来完成,也就是换台的按钮,但是并不是每次都那么幸运,可以准时收看我喜欢的儿童节目,有时候出现一片白茫茫...
分类:
其他好文 时间:
2014-05-18 14:15:56
阅读次数:
200
学习设计模式已经有段时间了,初接触设计模式,尽管例子简单、生动,但还是感觉很是抽象。今天又学习了设计模式中的装饰模式,它最大的特点就是把所有需要的功能都按正确的顺序串联起来进行控制。这里需要强调的是“顺序”,也就是说这种装饰是建立在一定的顺序之上的,而且这种顺序是由人为控制的;不同于建造者模式,它的顺序是固定不变的。
**概念
动态地给一个对象添加一些额外的职责,就增加的功能来说,装饰...
分类:
其他好文 时间:
2014-05-18 09:28:12
阅读次数:
191
工厂模式主要是用来生成具有相同接口的类
工厂模式主要包括:
1、简单工厂
2、工厂方法
3、抽象工厂
我们首先来学习一下简单工厂的原理:
学习背景:
我需要这样一个智能程序,我对它讲话,它能够为我制造一台能够满足我需求的电器
如:我要看电视,它给我制造一台电视,我要洗衣服,它给我制造一台洗衣机...
首先我使用面向过程的方法来实现这个程序
public sta...
分类:
其他好文 时间:
2014-05-18 08:12:18
阅读次数:
278
模板方法模式定义了一个操作中的算法的骨架,将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
结构图:
AbstractClass是抽象模板,定义并实现一个模板方法,这个模板方法一般是一个具体方法,它给出一个顶级逻辑的骨架。
ConcreteClass是具体模板,实现父类所定义的一个或多个抽象方法,每一个AbstractClass可以有任...
分类:
其他好文 时间:
2014-05-18 05:52:38
阅读次数:
243
模板方法模式
TemplateMethod:定义一个操作中的算法的骨架,而将这些操作延迟到子类中。模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。...
分类:
其他好文 时间:
2014-05-18 03:43:22
阅读次数:
237
设计模式被分成了三种类型,这次来说一下创建型中的工厂家族(简单工厂方法,工厂方法模式,抽象工厂)。通过了解,三者之间的比较来加深对工厂家族的了解。
简单工厂: 工厂类中有必要的逻辑判断,根据客户端的选择可以动态的实例化相关类.去除了与具体产品的依赖。
工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪个类.使得一个类的实例化延迟到其子类。
抽象工厂:提供创建一系列相关或互相依赖对象的接口,而无需指定他们具体的类。...
分类:
其他好文 时间:
2014-05-18 03:42:24
阅读次数:
343
关键词 :空对象 有人称为设计模式
三层调用
1. 封装调用 , 把封装带到一个全新的境界: 把方法调用(method invocation) 封装起来.
2. 命令模式可将"动作的请求者" 从"动作的执行者" 对象中解耦.
3. 当需要将发出的请求和执行请求的对象解耦的时候,使用命令模式.
OO原则: (1)封装变化 (2) 多用组合,少用继承 (3)针对接口编程,不针对...
分类:
其他好文 时间:
2014-05-18 03:18:57
阅读次数:
311