设计模式设计原则

  • 单一职责原则(Single Responsibility Principle,SRP)

    一个类只负责一个功能领域中的相应职责。或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。

  • 开闭原则(Open-Closed Principle,OCP)

    一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。

  • 里氏替换原则(Liskov Substitution Principle,LSP)

    所有引用基类(父类)的地方必须透明地使用其子类对象。

    里氏替换原则表名,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来不成立,如果一个软件实体使用的是一个子类对象的话,那么它一定能够使用基类对象。

  • 依赖倒置原则(Dependency Inversion Princople,DIP)

    抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口变成,而不是针对实现编程。

    以来倒置原则要求在程序代码中传递参数时或在关联关系中,尽量引用高层次的抽象层类,即使用接口和抽象类进行变量类型声明、参数类型声明、方法返回类型声明,以及数据类型转换等,而不要用具体类来做这些事情。

    开闭原则目标里氏代换基础依赖倒置原则手段,它们相辅相成。

  • 接口隔离原则(Interface Segregation Principle,ISP)

    使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

  • 合成复用原则(Composition/Aggregate Reuse Principle,CARP)

    尽量使用对象组合,而不是继承来达到复用的目的

  • 迪米特法则(Law of Demeter,LoD)

    一个软件实体应当尽可能少地与其他实体发生相互作用。

作者

Bruce Liu

发布于

2021-01-05

更新于

2022-11-12

许可协议

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

评论

You forgot to set the shortname for Disqus. Please set it in _config.yml.