六大设计原则总结(总结设计模式之禅)

1.六项基本原则:
1.1.单一职能原则:
举例:修改用户密码,调用changeUserPassword方法,方法职责要清晰,不要调用changeUser方法,这个方法颗粒度很粗。
概念:每一个类实现的功能和作用要单一,一个方法尽可能描述一件事情。
1.2.里氏替换原则:
举例:士兵杀敌
概念:所有引用基类的地方必须透明地使用其子类对象
(只要有父类出现的地方,子类就可以出现,而且可以直接替换成子类,反过来,有子类出现的地方,父类不一定能够适应。)。
子类可以继承父类的私有方法以外的所有方法和非私有的属性,重写可以覆盖掉父类中同名同参数的方法。
子类必须完全实现父类的方法,如果子类不能完整的实现父类的方法,建议断开继承关系,采用依赖,聚集,组合等关系替代继承。
子类可以有自己独立的属性和方法。
覆盖或实现父类的方法时,如果子类给的参数范围大于父类,不会被执行到,要求子类给参数类型必须等于父类。
覆盖或实现父类的方法时,父类的返回参数类型必须大于等于子类
1.3.依赖倒置原则
举例:司机开车
面向接口编程,解耦。
依赖实现方式:构造函数实现、setter方法传递依赖对象(接口声明依赖)
接口负责定义public属性和方法,并声明与其他对象的依赖关系。抽象类负责对公共构造部分的实现。实现类准确的实现业务逻辑,并对父类接口的细化。
1.4.接口隔离原则
举例:导演选美女演员
一个接口只服务于一个子模块或业务逻辑,合理拆分接口,避免接口过于臃肿,封装过渡。
1.5.迪米特法则:
举例:安装软件步骤
类尽量私有化,多使用访问权限,隐藏内部实现细节,对外提供接口。实现高内聚,低耦合。
1.6.开闭原则:
举例:书店打折销售,扩展电脑书籍。
软件的实体对扩展开放,对修改关闭。使用extends(继承)的方法实现原有的类的方法以及扩展其中的应用,应用去系统升级,替换实现类即可,不需要太多变动。
抽象是对所有子类的共性封装。

猜你喜欢

转载自blog.csdn.net/qq_27464169/article/details/80866416