SOLID
单一职责原则(Single Responsibility Principle)
- 每个模块应该只做一件事
- 每个模块都因该有且仅有一个被修改的原因
- 任何一个软件模块都应该只对某一类行为者负责
开放封闭原则(Open Close Principle)
- 设计良好的计算机软件应该易于扩展,同时抗拒修改
- 如果 A 组件不想被 B 组件上发生的修改所影响,那么就应该让 B 组件依赖于 A 组件
里氏替换原则(Liskov Substitution Principle)
- 典型反例,Square 与 Rectangle(Rectangle可以分别设置宽和高,Square的变长会被最后一次的设置覆盖)
接口隔离原则(Interface Sgregation Principle)
- 模块不应该依赖未使用到的组件
依赖反转原则(Dependency inversion principle)
- 应在代码中多使用抽象接口,尽量避免使用那些多变的具体实现类
- 不要在具体实现类上创建衍生类
- 不要覆盖包含具体实现的函数
- 应避免在代码中写入与任何具体实现相关的名字,或者是其他容易变动的事物的名字
- 常见实践:工厂模式
Backlinks