美文网首页
七大设计原则

七大设计原则

作者: jianshujoker | 来源:发表于2020-02-23 01:56 被阅读0次

    开闭原则

    • 定义:对扩展开放,对修改关闭;即达到在不修改原有代码,通过新增代码达到扩展功能的目的
    • 作用:减少对原有代码的影响,增强稳定性(不影响原有代码)与扩展性
    • 实现:找出变化的部分,定义稳定的接口,走不同的实现;当有新的情形时,添加实现即可

    依赖导致原则

    • 定义:应依赖于接口编程,而不是具体的实现;是开闭原则实现的途径
    • 作用:降低耦合(多重实现时,只需引用抽象稳定的接口),增强稳定性(开闭原则的不修改原有代码),提升可维护性(多重实现时,代码清爽了)
    • 实现:面向接口编程,当有多种情形时,找出不变的抽象出接口

    单一职责

    • 定义:一个类有且仅有一个导致它变化的原因
    • 作用:代码清晰,因为职责少了,代码就分开了;但可能导致类冗余
    • 实现:分析出类的职责,看各职责是否拆分,实际运用中需要控制好粒度,我更宁愿按定义好的边界,让一个类只负责一个功能领域的职责

    接口隔离原则

    • 定义:为每个类定义适合自己的接口,而不是定义一个大的总的接口
    • 作用:相当于接口版的单一职责,降低耦合
    • 实现:定义接口时,为不同职责得类分别定义不同的接口

    迪米特法则

    • 定义:应尽可能少的依赖其他类,和”朋友“(成员变量、方法的输入输出、)通话,
    • 作用:降低耦合,提升可维护性
    • 实现:不与陌生人(不属于朋友的对象)通话,必要时可创建中间对象(做通话的中转站);但运用时,需要控制粒度

    里氏替换原则

    • 定义:父类的性质在子类中必须依然成立
    • 作用:保证了继承的有效性,降低继承出错的可能(与父类定义的语义不一样),是开闭原则实现的途径
    • 实现:继承时,不要覆盖父类方法;方法入参更宽松,出参更严格

    合成复用原则

    • 定义:复用时优先选择聚合(个体)/组合(整体),其次再考虑继承
    • 作用:降低类与类之间耦合,提升复用灵活度
    • 实现:将已有对象当做新对象的成员,而不是继承

    相关文章

      网友评论

          本文标题:七大设计原则

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