设计模式的使用,增加了代码的可维护性、可扩展性、可复用性和灵活性,而设计模式的六大原则为知道方针,也是设计模式的核心。
设计模式中常用的六大原则为:
一、单一职责原则(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
在面向对象的世界里,设计模式从来就没有最好最强的,各个模式从来就谁也不服谁,彼此明争暗斗,未曾善罢甘休。今天,连同简单工厂模式在内的24个设计模式齐聚中原,霎时间,乌云密布,杀气冲天,面向对象的世界里要迎来一场浩劫,血雨腥风,在所难免
在资格赛中,来自工厂家族的简单工厂模式首先被灭掉了,其致命的失误在于简单工厂模式根本不符合开放—封闭原则,因此惨遭灭门也是不足为怪的。然而让人欣...
分类:
其他好文 时间:
2014-05-18 07:21:54
阅读次数:
180
模板方法模式定义了一个操作中的算法的骨架,将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
结构图:
AbstractClass是抽象模板,定义并实现一个模板方法,这个模板方法一般是一个具体方法,它给出一个顶级逻辑的骨架。
ConcreteClass是具体模板,实现父类所定义的一个或多个抽象方法,每一个AbstractClass可以有任...
分类:
其他好文 时间:
2014-05-18 05:52:38
阅读次数:
243
在网上看到一篇总结的比较好的文章,就借鉴下来共享:
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。
类型:创建类模式
类图:
工厂方法模式代码
[java] view
plaincopy
interface IProduct {
public void...
分类:
其他好文 时间:
2014-05-18 04:04:00
阅读次数:
293
初学设计模式给我最大的感受是:人类真是伟大啊!单单是设计模式的基础课程就让我感受到了强烈的生活气息。个人感觉《大话设计模式》这本书写的真好,让貌似很晦涩难懂的设计模式变的生活化,趣味化。
下面浅谈一下对设计模式基础的理解,如果理解的不好,还请大家指正!
首先设计模式是对面向对象的更专业的诠释,面向对象的三大基本特征是继承、封装、多态。
继承:1.子类继承父类非privat...
分类:
其他好文 时间:
2014-05-18 03:08:45
阅读次数:
326