美文网首页
程序设计模式七原则

程序设计模式七原则

作者: 小灰灰_a | 来源:发表于2021-12-12 17:56 被阅读0次

    设计模式六大原则

    1、单一职责原则

    对类来说,一个类应该只负责一项职责,如类 A 负责两个不同的职责,职责 1、职责 2,当职责 1 需求变更而改变 A 时,可能造成职责 2 执行错误,所以需要将类 A 的粒度分为 A1,A2。

    • 降低类的复杂度,一个类只负责一项职责
    • 提高类的可读性,可维护性
    • 降低变更引起的风险
    • 通常情况下,我们应该遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则:只有类中方法数量足够少,可以在方法级别保持单一职责原则。

    举例:

    class Single {
        constructor (name) {
            this.name = name
        }
        run () {
            console.log(this.name + ' is running')
        }
    }
    const car = new Single('汽车')
    car.run()
    const bus = new Single('公交车')
    car.run()
    

    2、接口隔离原则

    客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。

    举例

    interface AnimalProps {
        name: string;
        move: () => void
    }
    class Dog implements AnimalProps {
        constructor (name) {
            this.name = name
        }
        move () {
            console.log(this.name + ' is moving')
        }
    }
    

    3、依赖倒置原则

    • 高层模块不应该依赖底层模块,二者都应该依赖其抽象。
    • 抽象不应该依赖细节,细节应该依赖抽象
    • 依赖倒置的中心思想是面向接口编程
    • 依赖倒置原则是基于这样的设计理念:相对于细节的多边形,抽象的东西要稳定多,已抽象为基础大件的架构比以细节为基础的架构要稳定得多。
    • 使用接口或抽象的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成。

    举例

    
    

    4、里氏替换原则

    • 如果对每个类型为 T1 对对象 t1,都有类型为 T2 的对象 t2,使得以 T1 定义的程序 P 在所有的对象 t1 都替换成 t2 时,程序 P 的行为没有发生变化,那么类型 T2 是 T1 的子类型。换言之,所有引用基类的地方必须透明的使用其子类对象。
    • 使用继承时,遵循里氏替换原则,子类中尽量不要复写父类的方法。
    • 里氏替换原则告诉我们,继承实际上让两个类耦合性增强了,在适当的情况下,可以使用聚合、组合、依赖来解决问题。

    举例

    
    

    待补充......

    相关文章

      网友评论

          本文标题:程序设计模式七原则

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