C#设计模式总纲
程序员文章站
2022-03-01 21:05:15
使用设计模式的根本原因:代码总是在不断地变化,使用设计模式可以刚好的适应变化,提高代码的复用性,使代码更容易维护和扩展。 SOLID单一职责原则:类应该保持单一的职责,若包含多个职责可能会形成耦合,职责改变时就可能影响到其他职责,影响类本身的稳定性和代码复用性。 开放封闭原则:软件实体包括类类,函数 ......
使用设计模式的根本原因:
代码总是在不断地变化,使用设计模式可以刚好的适应变化,提高代码的复用性,使代码更容易维护和扩展。
solid
单一职责原则:
类应该保持单一的职责,若包含多个职责可能会形成耦合,职责改变时就可能影响到其他职责,
影响类本身的稳定性和代码复用性。
开放封闭原则:
软件实体包括类类,函数,模块应该对扩展开放,修改封闭
也就是通过增加新代码的方式来扩展新的行为,且不修改原有代码,不影响原有代码稳定性。
常见方法就是定义固定接口,多个类继承自改接口并实现自己的内部策略和具体行为,
客户端则通过接口与类实体进行交互。
里式转换原则:
代码中子类能够替换父类,且不影响程序的正常功能
接口隔离原则:
多个专门的接口比一个总的接口要好。
不应该将责任全部集中到一个接口,应该将其分散到多个特定的接口当中去,接口分离可以避免其子类拥有不需要的行为。
依赖倒转原则:
高层模块不应依赖低层模块,他们都应该依赖与抽象。
抽象模块不应依赖于具体细节,细节应该依赖于抽象。
依赖于抽象意味着:
- 任何变量都不应该持有一个指向具体类的指针或者引用;
- 任何类都不应该从具体类派生;
- 任何方法都不应该覆写它的任何基类中的已经实现的方法。
最少知识原则:
对象应该与其他对象保持最少的联系,只和他关系亲密的对象进行交互,对象修改其他模块受影响就少,
也利于对象本身的扩展。
合成复用原则:
新创建的对象可以通过拥有其他已经存在的对象来复用现有的功能。建议多实用组合、聚合少使用继承。