Skip to content

Latest commit

 

History

History
30 lines (26 loc) · 1.61 KB

thought.md

File metadata and controls

30 lines (26 loc) · 1.61 KB

设计模式

面向对象的设计原则
  • 对接口编程,不要对实现编程
  • 使用对象之间的组合,减少对继承的使用
  • 抽象用于不同的事物,而接口用于事物的行为
设计模式的设计原则
  • 开闭原则:对扩展开放,对修改封闭
    • mean: 实例的内部不可修改,但可以增加新功能
  • 依赖倒转:对接口编程,依赖于抽象而不依赖于具体
    • mean: 就是把公共的拿出来,定义成抽象类、接口、抽象方法,然后大家再去实现这个抽 象,实现的方法各有不同,各个实体相互独立没有依赖,各个实体离开谁都能活
  • 接口隔离:使用多个接口,而不是对一个接口编程,去依赖降低耦合
    • mean: 就是抽象再抽象
  • 最少知道:减少内部依赖,尽可能的独立
    • mean: 实现依赖注入容器,把依赖的实体注入到一个实例(所谓容器)
  • 合成复用:多个独立的实体合成聚合,而不是使用继承
    • mean:尽可能不用继承,使用以上三种方式构成代码结构
  • 里氏代换:超类(父类)出现的地方,派生类(子类)都可以出现
    • mean:能用父类实现的子类也能实现
简单设计原则
  • 通过所有测试:及需求为上
  • 尽可能的消除重复:高内聚低耦合
  • 尽可能的清晰表达:可读性
  • 更少代码元素:常量,变量,函数,类,包 …… 都属于代码元素,降低复杂性
  • 以上四个原则的重要程度依次降低

核心:高内聚松耦合(单一职责),外部依赖,实体对抽象编程,抽象就是分层