设计模式
1.面向对象编程三大特征
封装、继承、多态
2.面向对象设计目的
强内聚,低耦合
3.面向对象设计原则
1)单一职责
就一个类而言,应该仅有一个引起它改变的原因
2)开闭原则
对扩展开放,对修改关闭
3)依赖倒置
高层模块不应该依赖底层模块,两者都应该依赖抽象,抽象不应该依赖细节,细节应该依赖抽象,也就 是针对接口编程,不要对实现编程
4)里氏替换
实则继承,提高代码重用性,但增强了耦合性
5)接口隔离
对接口进行规范约束,接口尽量小,高内聚
6)迪米特法则
最少知道原则,一个对象对其它对象有最少的了解
4.设计模式
描述了一种问题的通用解决方案
创建模式:对类的实例化过程的抽象
1)单例
2)工厂方法
与简单工厂相比较,新增产品时,只需新增一个产品类和对应工厂类,解决了简单工厂违背开闭原则的弊端(简单工厂也可以通过反射解决违背开闭原则)
3)抽象工厂
4)建造者
5)原型
结构模式:将类和对象结合在一起形成更大的结构
1)适配器
2)组合模式
调用根节点的info,就可以遍历整棵树内容
3)装饰
装饰器通过构造函数持有被装饰对象
4)代理
有静态和动态(aop使用jdk动态和cglib(ASM))
5)外观
6)桥接
7)享元
行为模式:对在不同对象之间划分责任和算法的抽象化
1)模板方法 定义一个操作算法骨架,而将一些步骤延迟到子类
2)策略模式
3)观察者
又称发布订阅
4)访问者
5)责任链
6)中介者
7)状态
8)迭代
9)备忘
10)命令
11)解释器
评论