设计模式六大原则(6):开闭原则定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案:当软件需要变化...
分类:
其他好文 时间:
2014-06-25 17:47:16
阅读次数:
130
设计模式六大原则(4):接口隔离原则定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法。解决方案:将臃肿的接口I拆分为独立的几个...
分类:
其他好文 时间:
2014-06-25 17:46:32
阅读次数:
134
肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。事实上原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。定义1:假设对每个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的全部程序 P 在全部的对....
分类:
其他好文 时间:
2014-06-25 16:31:42
阅读次数:
216
设计模式基础:类及类关系的UML表示2009-10-26 17:00 by 宗哥,1891阅读,1评论,收藏,编辑UML中,类关系分为这几种,泛化(generalization), 实现(realization),依赖(Dependency),关联(associate),聚合(aggregation...
分类:
其他好文 时间:
2014-06-25 15:04:09
阅读次数:
269
设计模式;一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的...
分类:
编程语言 时间:
2014-06-25 14:52:26
阅读次数:
253
第零章:介绍 看到这个游戏了,感觉蛮好玩的,实现了一下。 界面如下: 游戏玩法:在3×*3的矩阵中,每个按钮都可以点击,如果按钮四周有一个是空白,则点击此按钮则会移动到这个空白。按钮字母顺序变成“ABCD……”这样有序就赢了,最后空格可以出现在任何地方。第一章:构思 设计模式基本上没接触过,...
分类:
编程语言 时间:
2014-06-25 13:47:10
阅读次数:
367
一、简介单例模式主要用的作用是用于保证程序运行中某个类只有一个实例,并提供一个全局入口点。单例模式(Singleton)为GOF阐述的标准24种设计模式中最简单的一个。但随着时间推移,GOF所阐述的单例实现已不能完全满足实际应用。"ensure a class has only one instan...
分类:
其他好文 时间:
2014-06-25 13:20:34
阅读次数:
193
设计模式被分成了三种类型,这次来说一下创建型中的工厂家族(简单工厂方法,工厂方法模式,抽象工厂)。通过了解,三者之间的比較来加深对工厂家族的了解。简单工厂: 工厂类中有必要的逻辑推断,依据client的选择能够动态的实例化相关类.去除了与详细产品的依赖。 例: 在上述计算器的样例...
分类:
其他好文 时间:
2014-06-25 12:58:22
阅读次数:
171
建造者模式(Builder Pattern)
一听这个名字,你可能就会猜到一二分了。建造者简单理解就是造东西,只不过建造者模式建造的不是一个简单的东西,是一个比较复杂的东西。就好像盖房子,需要打地基、砌墙、灌水泥、封顶,最后墙面贴瓷砖。
建造者设计模式是一个构造复杂对象的设计模式。在一个软件系统中,可能会面临创建一个复杂对象的工作,如果我们使用单一的方法或者单一的对象来创建会比...
分类:
其他好文 时间:
2014-06-25 08:05:09
阅读次数:
208