设计模式中的设计原则

作者: 先生zeng | 来源:发表于2019-06-17 14:47 被阅读0次

    在总结我学习的设计模式中涉及的知识之前,我必须先说明一遍,市面上关于设计模式的书其实已经烦不胜数了,不能说那本书好哪本书不好,我自己笔记中所用的例子还有案例,都是看阎宏博士写的《JAVA与模式》这本书里面的例子作为学习的资料来简述的,本来是计划打算,再看一本设计模式相关的书,在来写总结,现在发现其实没多大的必要。

    首先设计模式必须要基于业务场景,去进行使用和优化。而不是不管是否需要使用设计模式,都要强行加入设计模式的使用。有的人,感觉自己写的代码,能都使用设计模式,就感觉很厉害了,上道了,其实不尽然。好了,言归正传,还是开始来讲下设计原则吧。

    在设计模式开篇其实我已经讲了,为什么要使用设计模式,为了让我们写的软件更可维护性的复用性和灵活性,我们的代码通常需要避免一些原则,和像一些原则靠拢的,设计模式只是软件开发人员长期以来,不断的重构不断地总结出来的一些写法,从这些写法中,总结出来编写代码时,最后遵循一些原则,才能提高代码的质量,于是就有了设计原则。

    一共有六种设计原则:

    一、开闭原则(Open Close Principle)

    开闭原则就是说对扩展开放,对修改关闭。
    在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了程序的扩展性好,易于维护和升级。

    二、里氏代换原则(Liskov Substitution Principle)

    里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

    三、依赖倒转原则(Dependence Inversion Principle)
    这个是开闭原则的基础,概念将就是说,要依赖于抽象,不要依赖于具体。
    什么意思呢? 再通俗一点将就是要针对接口编程,尽量依赖于抽象中的行为而不是具体。

    四、接口隔离原则(Interface Segregation Principle)
    这个原则的意思就是:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思。降低依赖,降低耦合。

    五、迪米特法则(最少知道原则)(Demeter Principle)
    又叫最小知道原则:就是说一个软件的实体,应该尽量少的与其他实体类接触发生相互作用,使得系统模块相互独立。在《java与模式这本书中》,这个原则还有分狭义还有广义上的。这里不进行更深入的描述。

    六、合成复用原则(组合聚合复用原则)(Composite Reuse Principle)
    原则是指尽量使用合成/聚合的方式,而不是使用继承。

    任何设计模式都在一定的取舍之间满足以上的一些设计原则,有一些是违背的,但是为了更好的进行软件的开发,主要还是根据开发人员自己去选择,是否使用。

    最后附上一张设计模式的图解 image.png

    感谢您阅读我的文章,如果满意可以帮我点赞,谢谢哈。
    如果对文章部分还有什么见解或者疑惑,可以私信评论我,欢迎技术讨论。如果需要获取完整的文件资源,可以加我微信z985085305,获取我整理的全套笔记。
    思想的碰撞最能促进技术的进步哦。

    相关文章

      网友评论

        本文标题:设计模式中的设计原则

        本文链接:https://www.haomeiwen.com/subject/ydyafctx.html