面向对象的设计原则
1单一职责原则(DRP)
2开闭原则(OCP)
3里氏替换原则(LSP)
4依赖倒置原则(DIP)
5接口隔离原则(ISP)
6迪米特原则(LOP)
7组合/聚合服用原则(CARP)
SRP: 定义系统中每一个类都应该只有一个职责 好处:高内聚,低耦合
OCP:定义:对扩展开放,对修改关闭 好处:适应性和灵活性 稳定型和延续性 可复用性与可维护性
LSP:定义:在任何父类出现的地方都可以用他的子类来代替,且不影响功能 抽象和多态
DIP:定义:高层模块不应该依赖与底层模块,两者都应该依赖其抽像;抽象不应该依赖细节;细节应该依赖抽象。 好处:提高程序的稳定性,可维护性,可扩展性。
ISP:定义:使用多个专门的接口比使用单一的接口要好。 好处:不强迫新功能实现不需要的方法
lop:定义:一个对象应当对其他对象尽可能少的了解。 好处:降低耦合 缺点:通信效率低;长生大量的中介类 这一原则不能过度的使用
CARP:定义:优先使用组合,使系统更灵活,其次才考虑继承,达到复用的目的
好处: 祝贺服用所需要的依赖较少 组合复用可以再运行时间内动态惊醒,新对象可以动态的引用与成分对象类型相同的对象 缺点:使用组合复用建造的系统会有校对的对象需要管理
四人帮
设计模式按不同用途分类
创建型模式(工厂方法模式,抽象工厂模式,建造模式,单例模式,原型模式)
如何创建对象以及何时创建对象
结构型模式(适配器模式,合成模式,装饰模式,代理模式,享元模式,门面模式,桥梁模式)
对像该如何组织以及采用什么样的结构更合理
行为型模式(策略 ,模板方法,观察者,迭代子,责任链,命令,备忘录,状态,访问者,解释器,调停者)
给定了各个对象应该具备的职责以及对象间得通信模式
简单工厂模式(工厂方法模式的一个特殊实现)
代理模式(结构型模式)
策略模式(行为型模式)