设计模式一
设计模式三大类
设计模式主要分为:创建型(对象创建过程): 工厂模式,抽象工厂模式,单例模式
结构型(对象以及类的组合):,
行为型(类和对象之间的交互方式和任务分布):
六大原则
六大原则的核心宗旨是开闭原则(对扩展开放,对修改关闭)
1) 单一职责原则:【单一功能】
每个类应该实现单一的功能的原则,否则将要把它拆开
2) 里氏替换原则:【对于抽象类以及父类子类的使用】
任何基类可以出现的地方,子类一定可以出现。里氏替换原则是继承复用的基石,只有当衍生类可以替换基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。实现“开闭”原则的关键步骤就是抽象化。
3) 依赖倒转原则:【面向接口编程】
面向接口编程,依赖于抽象而不依赖于具体
4) 接口隔离原则:【对于臃肿接口的拆分】
若是存在子类不需要使用,并且父类必须得实现的接口,那么这个接口需要拆分成好几个小接口。
5) 迪米特法则(最少知道原则):【降低耦合】
一个类对自己依赖的类知道的越少越好。无论被依赖的类多么复杂,都应该将逻辑封装在方法的内部,通过public方法提供给外部。这样当被依赖的类变化时,才能最小的影响该类
最少知道原则的另一个表达方式是:只与直接的朋友通信。类之间只要有耦合关系,就叫朋友关系。耦合分为依赖、关联、聚合、组合等。我们称出现为成员变量、方法参数、方法返回值中的类为直接朋友。局部变量、临时变量则不是直接的朋友。我们要求陌生的类不要作为局部变量出现在类中【两两之间的关系?】。缺点:此方法需要增加中间类,运用不当会使系统复杂
6) 合成复用原则:【尽量组合】
尽量首先使用合成/聚合的方式,而不是使用继承
非原创!只是结合大佬的文章,记录下比较浅显的看法。
https://blog.youkuaiyun.com/jason0539/article/details/44956775