美文网首页
设计模式(-)

设计模式(-)

作者: code_牧轩 | 来源:发表于2021-06-22 00:22 被阅读0次

    设计模式的7大基本原则:

    设计模式的原则:构建可以服用,可以维护代码的经验法则

    原则(一)接口隔离原则:


           接口里面只做必要的事情,不做其他不相关的事情;也就是一个类对另一个类的依赖应该建立在最小的接口上;例如:类A通过接口 Interface1 依赖类B,类C通过接口 Interface1 依赖类D,如果接口 Interface1 对于类A和类C来说不是最小接口,那么类 B 和类 D 必须去实现他们不需要的方法。

      将接口 Interface1 拆分为独立的几个接口(这里我们拆分成 3 个接口),类 A 和类 C 分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则;

    原则(二)开闭原则:


          对模块 扩展开发,对修改关闭,.m里面的实现代码不改变;

    原则(三)里氏替换原则:


          任何类可以出现的地方,子类一定可以出现,子类跟父类可以相互替换,子类可以用父类的所有方法;

    简单点说:子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法;子类可以增加自己特有的方法;

    原则(四)依赖倒转原则:


      抽象不依赖细节,细节依赖抽象;

    1)高层模块不应该依赖低层模块,二者都应该依赖其抽象

    2)抽象不应该依赖细节,细节应该依赖抽象

    3)依赖倒转(倒置)的中心思想是面向接口编程

    4)依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在java中,抽象指的是接口或抽象类,细节就是具体的实现类。

    5)使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成。

    依赖倒转原则的注意事项和细节

    1)低层模块尽量都要有抽象类或接口,或者两者都有,程序稳定性更好

    2)变量的声明类型尽量是抽象类或接口,这样我们的变量引用和实际对象间,就存在一个缓冲层,利于程序扩展和优化。

    3)继承时遵循里氏替换原则

    原则(五)聚合原则:


      需要从一个类扩展出来另一个对象方法,尽量不要使用继承,使用新的方法;

    原则(六)最小知识原则:


    两个类没有彼此直接通信,而是使用另一个类来通信;(类似于添加一个中间类来桥接逻辑)

    原则(七)单一职责原则:


    一个类只负责一个功能领域;例如:如类 A 负责两个不同职责:职责 1,职责 2。当职责 1 需求变更而改变 A 时,可能造成职责 2 执行错误,所以需要将类 A 的粒度分解为 A1,A2

    单一职责原则注意事项和细节:

    降低类的复杂度,一个类只负责一项职责

    提高类的可读性,可维护性

    降低变更引起的风险

    通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则; 只有类中方法数量足够少,可以在方法级别保持单一职责原则

    相关文章

      网友评论

          本文标题:设计模式(-)

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