我是靠谱客的博主 呆萌篮球,最近开发中收集的这篇文章主要介绍设计模式六大准则,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


开闭原则(Open Close Principle)


当软件需要变化时,尽量通过拓展软件实体的行为来实现,而不是修改已有的代码实现。对拓展开放,对修改关闭。



里氏代换原则(liskov Substitution Principle)


任何父类可以出现的地方,子类一定可以出现。换句话说,子类可以拓展父类的功能,但不能改变父类的功能。



依赖倒转原则(Dependence Inversion Priciple)


1.每个类尽量有接口或抽象类,或者抽象类和接口都具备;
2.变量的显示类型尽量是接口或者抽象类;
3.任何类都不应该从具体类中产生;
4.尽量不要覆盖父类的方法;



接口隔离原则(Interface Segregation Priciple)


使用多个隔离的接口,好过使用单个接口。注意以下几点:
1.接口尽量小,但也要有限度;
2.为依赖接口的类定制服务,只暴露给调用的类它需要的方法,不需要的方法则隐藏起来;
3.提高内聚,减少对外交互;



迪米特法则(最少知道原则,Demeter Priciple)


一个实体应尽量少地与其他实体发生相互作用,使得系统功能模块相对独立;这样当发生修改时,影响面会很小。注意一下几点:
1.在类的划分上,应该尽量创建松耦合的类,类之间的有何度越低,就越有利于复用,一个处在松耦合中的类一旦被修改,不会对关联的类造成太大波及;
2.在类的结构设计上,每一个类都应该尽量降低其成员变量和成员函数的访问权限,在类的设计上,只要有可能都设计成不变类;
3.在对其他类的引用上,一个对象对其他对象的引用应当降到最低;



合成复用原则(Composite Reuse Principle)


尽量使用合成/聚合的方式,而不是使用继承。
1.子类是父类的一个特殊种类,而不是父类的一个角色,也就是区分has-a和is-a。只有is-a关系才符合继承关系,has-a关系应当使用聚合来描述;
2.永远不会出现需要将子类换成另一个类的子类的情况,如果不能确定这事的话就不要继承;
3.子类具有拓展父类的责任,而不是置换掉或注销掉父类的责任。如果一个子类要大量置换父类的行为,那么这个类即不适合作为其子类。

最后

以上就是呆萌篮球为你收集整理的设计模式六大准则的全部内容,希望文章能够帮你解决设计模式六大准则所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部