设计模式中的六大设计原则
设计模式的目的
编写软件过程中,程序员面领着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序,具有更好的
- 代码重用性(即:相同功能的代码,不用多次编写)
- 可读性(即:编码规范性,便于其他程序员的阅读和理解)
- 可扩展性(即:需要增加新的功能时,非常的方便,成为可维护性)
设计模式其他原则
- 单一职责原则
一个类主要负责一种类型,比如:用户和订单服务类 用户服务应该在单独的服务类中UserService,订单服务类在另外一个单独的服务类中OrderService ,而不能把两个服务揉在一个服务类中
简单举例:https://www.cnblogs.com/abel-he/p/17594763.html - 接口隔离原则
接口中的方法,主要集中某种特定的类的方法(共有的),不能存在多个独有的方法。
简单举例:https://www.cnblogs.com/abel-he/p/17599347.html - 依赖倒转原则
同一种类型的服务应该使用接口提供,比如支付,提供同一个接口PaymentService 里面存在两个方法 一个创建支付 一个获取支付结果, 使用WeChat实现PaymentService,Alipay实现PaymentService 在调用支付的时候,按照PaymentService来调用方法
简单举例:https://www.cnblogs.com/abel-he/p/17599584.html - 里氏替换原则
子类继承父类的时候,不小心会重新父类的方法调用的时候,还不知道方法已改就会出现问题,这种问题的解决办法,继承一个公用的类(里面的方法不会修改),其他类则采用依赖、组合、聚合等方式来实现
简单举例:https://www.cnblogs.com/abel-he/p/17604682.html - 开闭原则
模块和函数应该对扩展开放(提供方),对修改关闭(对使用方)。尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。编程中最基础、最重要的设计原则,类似于依赖倒转原则
简单举例:https://www.cnblogs.com/abel-he/p/17604732.html - 迪米特法则
又称:最小知道原则。
只要两个对象之间存在耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多种:依赖、关联、组合、聚合等。其中我们称出现成员变量,方法参数,方法返回值中的类为直接的朋友。出现在局部变量中的类不是直接的朋友。陌生的类最好不要以局部变量的形式出现在类的内部。
简单举例:https://www.cnblogs.com/abel-he/p/17610217.html