在前面的简单工厂模式中,通常将每个类、接口定义到不同的文件中。在面向对象开发思想中有一个重要的原则就是封装变化点,在实际操作过程中, 通常被调用方的代码不要去更改,而是增加,这是面向对象的开闭原则。在简单工厂模式中存在一个问题,就是简单工厂类需要知道不同具体类的实现,如果现在多了一种算法比如乘法, ...
分类:
其他好文 时间:
2017-09-27 20:58:00
阅读次数:
130
1.开闭原则(Open Close Principle)定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 开放-封闭原则的意思就是说,你设计的时候,时刻要考虑,尽量让这个类是足够好,写好了就不要去修改了,如果新需求来,我们增加一些类就完事了,原来的代码能不动则不动。这个原则有两个特性, ...
分类:
编程语言 时间:
2017-09-24 14:34:11
阅读次数:
178
1.描述 将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口比兼容而不能一起工作的那些类可以一起工作。 2.优点 ·目标(Target)与被适配者(Adaptee)是完全解耦关系。 ·满足“开闭原则” 3.使用情景 一个程序想使用已存在的类,但该类所实现的接口和当前程序所使 ...
分类:
其他好文 时间:
2017-09-24 12:45:07
阅读次数:
133
总原则-开闭原则 对扩展开放,对修改封闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。 想要达到这样的效果,我们需要使用接口和抽象类等,后面的具体设计中我们会提到这点。 1、单一职责原则 不要存在 ...
分类:
其他好文 时间:
2017-09-22 15:17:32
阅读次数:
153
目录: 设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大原则(6):开闭原则 设计模式六大原则(1):单一职责原则 定义:不要存在多于一个导致类变更 ...
分类:
其他好文 时间:
2017-09-17 16:33:57
阅读次数:
165
模拟场景: 继续沿用在简单工厂模式中讨论的,运算器相关的场景。 思想: 考虑之前最初的设计,简单工厂模式中,最大的问题在于,面对新增的需要在工厂中创建的对象,对其的修改会违反开闭原则。 工厂方法模式(Factory Method)对于这种问题的解决方案是:将生产运算器的工厂抽象出来(AbsOpera ...
分类:
其他好文 时间:
2017-09-17 00:21:56
阅读次数:
229
前两章我们已经讨论了两种有关工厂的模式,今天我们来看最后一种与工厂相关的模式,抽象工厂模式。 抽象工厂模式算是工厂相关模式的终极形态,如果各位完全理解了上一章的工厂方法模式,那么抽象工厂模式就很好理解了。它与工厂方法唯一的区别就是工厂的接口里是一系列创造抽象产品的方法,而不再是一个,而相应的,抽象产 ...
分类:
其他好文 时间:
2017-09-14 19:01:02
阅读次数:
219
一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石 ...
分类:
编程语言 时间:
2017-09-10 20:41:04
阅读次数:
120
单一原则:负责类的粒度大小。简单的说就是一个类或者方法让它负责一种功能开闭原则: 一个类或者功能对扩展开放,对修改关闭。就是在程序扩展的时候不能去修改原有的代码,里氏替换原则:所有引用基类(父类)的地方都能,都能用子类来代替。实际就是子类可以扩展父类的功能,但不能改变父类原有的功能依赖倒置原则:面向 ...
分类:
其他好文 时间:
2017-09-09 18:06:26
阅读次数:
129
复用一个类的时候,多使用对象的组合/聚合的关联关系,而不是继承。 之前提到的“依赖倒转原则”,是以里氏代换原则为基础的实现开闭原则目标的手段,这一条路线涉及到的是类的继承(包括单继承和接口实现),他们支撑了Java多态的特性。 但是今天要谈一谈Java另一个特性——封装。封装就是不要暴露过多的基类内 ...
分类:
其他好文 时间:
2017-09-09 00:48:56
阅读次数:
208