1.设计模式原则 开闭原则: 即对扩展开放,对修改关闭 里氏代换原则(面向对象): 继承特性 迪米特原则(面向对象): 封装特性 合成复用原则(面向对象): 依赖倒转原则(面向接口): 接口隔离原则(面向接口): 2.创建型模式 工厂模式: 抽象工厂模式: 单例模式: 建造者模式: 原型模式: ...
分类:
其他好文 时间:
2017-08-13 22:15:18
阅读次数:
156
如上代码所示,List引用,ArrayList是具体实现。从而我们使用rows的时候,如果要更换ArrayList为别的实现,使用的地方不用修改,只需要更改ArrayList即可。这里遵循了设计原则中的依赖倒转原则。 ...
分类:
其他好文 时间:
2017-08-13 09:54:08
阅读次数:
124
如果说开闭原则是面向对象设计的目标的话,那么依赖倒转原则就是面向对象设计的主要实现机制之一,它是系统抽象化的具体实现。依赖倒转原则是Robert C. Martin在1996年为“C++Reporter”所写的专栏Engineering Notebook的第三篇,后来加入到他在2002年出版的经典著 ...
分类:
其他好文 时间:
2017-08-11 18:57:59
阅读次数:
202
在上一篇里我们谈了谈为何设计模式,那接下来我们再浅谈一下在面向对象设计中我们常常要遵循的一些原则。这些原则是经过无数的前人总结出来的经验的结晶。仅仅有遵循这些原则。你才有可能涉及出优秀的代码。今天我们要谈的原则有七大原则,即:单一职责。里氏替换。迪米特法则,依赖倒转,接口隔离,合成/聚合原则。开放- ...
分类:
其他好文 时间:
2017-08-05 21:56:27
阅读次数:
232
ChainOfResponsibility--责任链 极限编程 --先写测试再写代码 目的:一条链:request ->response 抽丝剥茧策略模式 动态添加对象:ArrayList LinkedList 静态工厂方法 责任链 多态 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建 ...
分类:
其他好文 时间:
2017-07-18 13:26:52
阅读次数:
192
依赖倒转模式 定义:A:高层模块不应该依赖低层模块。两个都应该依赖抽象。 B:抽象不应该依赖细节。细节应该依赖抽象。 说白了就是针对接口编程,不要针对实现编程。 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑; ...
分类:
其他好文 时间:
2017-07-09 10:41:17
阅读次数:
151
?? 设计模式学习告一段落。一时间有点儿心乱如麻啊真是——剪不断。理还乱!思考了一阵子,也不知道到底该怎样去总结它。 但人还是要活着的,路还是要走的,硬着头皮往前闯。 细致想想,在学习23个设计模式中,我们始终都在环绕着一个主线在思考代码的布局。那就是六大原则——开放封闭,单一职责,依赖倒转,里氏代 ...
分类:
其他好文 时间:
2017-06-29 14:02:43
阅读次数:
123
1、定义抽象主题接口,假设需实现一个计算的类Math、完成加、减、乘、除功能,如下所示: 2、主题类,算术类,实现抽象接口。 3、代理类 4、测试运行 5.总结: 静态代理的优点:解决了“开闭原则(OCP)”的问题,解决了“依赖倒转(DIP)”的问题,解决了“单一职责(SRP)”的问题。 静态代理的 ...
分类:
编程语言 时间:
2017-06-26 11:36:39
阅读次数:
178
依赖倒转原则: 定义: 在大话中最重要的两句话是:抽象不应该依赖与细节,细节应该依赖于抽象。还有一句是:针对接口编程,不要对实现编程。 问题: 类A直接依赖类B。假如要将类A改为依赖C。则必须通过须要改动类A的代码来达成。但假设,类A是高级模块,负责业务逻辑;类B和类C是低层模块。负责主要的源自操作 ...
分类:
其他好文 时间:
2017-06-22 23:00:19
阅读次数:
119
大家都知道Java23种设计模式,大神总结如下: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责 ...
分类:
编程语言 时间:
2017-05-07 19:59:11
阅读次数:
125