美文网首页
5 设计中的一些原则

5 设计中的一些原则

作者: 6cc89d7ec09f | 来源:发表于2018-10-17 17:00 被阅读9次

依赖倒置原则

举个例子: 披萨店(pizzaStore)里,会制作格式各样的pizza,,但是披萨店不应该直接依赖各式各样的pizza,否则,类图如下


image.png

(此图来源于 Head First 设计模式)

如果pizzaStore,直接依赖各式各样的pizza,带来的问题有
1 修改某个类型的pizza,可能会导致需要修改PizzaStore
2 新增一个类型的pizza,需要修改PizzaStore

如何依赖倒置


image.png

这样,就可以避免以上的问题.

  • 依赖倒置和面向接口编程 的思想很相似,如果非要说不同点的话,依赖倒置原则强调了,对一类物品的抽象
    如果不懂这句话的可以 区分一下接口,抽象类在定义上的区别:

抽象类是用来捕捉子类的通用特性的
接口是抽象方法的集合

好莱坞原则

别调用我们,我们会调用你

  • 作用:防止“依赖腐败”

高层组件底层组件相互依赖,高层组件又依赖边侧组件,边侧组件又依赖底层组件.依赖腐败就产生了,系统的设计就很难搞的懂...

  • 解释:

在好莱坞原则之下,我们允许低层组件将自己挂钩到系统上,但是高层组件会决定什么时候和怎样使用这些低层组件。换句话说,高层组件对待低层组件的方式是“别调用我们,我们会调用你”

  • 应用

模板方法模式就应用到了这个原则,模板方法类对它的子类说: 不要调用我们,我们会调用你

  • 和依赖倒置原则的区别

依赖倒置原则 面向接口或者抽象类编程
好莱坞原则 子类的(底层)尽量不要调用超类(父类)的方法

单一原则

当我们允许一个类不但要完成自己的任务还要负担更多的责任,我们就需要给这个类多个变化的原因.将导致这个类非常容易因为某个原因而做修改.
一个类尽量保持只有一个引起变化的原因

高内聚

内聚,用来度量一个类或者模块紧密达到单一目的和责任
当一个模块或者类被设计成只支持一组相关功能时,我们就说它具有高内聚;反之,当被设计成支持一组不相关的功能时,则称为低耦合.

相关文章

  • 5 设计中的一些原则

    依赖倒置原则 举个例子: 披萨店(pizzaStore)里,会制作格式各样的pizza,,但是披萨店不应该直接依赖...

  • 互联网产品设计原则

    设计原则就是对一些设计过程中基于人类的认知规律对设计做出的一些指导性原则,并且对已经成为行业共识的设计经验做个总结...

  • 八 设计原则(转载)

    为什么需要设计原则?其实就是为了站在巨人的肩膀上,摘苹果更容易一些而已。 设计原则其实就是对一些设计过程中基于人类...

  • asp.net core 系列 3 依赖注入服务

    一. 依赖注入概述 在软件设计的通用原则中,SOLID是非常流行的缩略语,它由5个设计原则的首字母构成:单一原则(...

  • 9个设计原则,你绝对学不会

    #设计原则# UI设计中9个设计原则,力证你的设计

  • 设计模式应用

    设计原则先看下一些约定俗成的设计原则,其实要遵守以下所有原则很难,但开发过程中还是要有这样的意识。 找出应用中可能...

  • [5+1]开闭原则(一)

    [5+1]开闭原则(一) 前言 面向对象的SOLID设计原则,外加一个迪米特法则,就是我们常说的5+1设计原则。 ...

  • [5+1]开闭原则(二)

    [5+1]开闭原则(二) 前言 面向对象的SOLID设计原则,外加一个迪米特法则,就是我们常说的5+1设计原则。 ...

  • [5+1]里氏替换原则(一)

    [5+1]里氏替换原则(一) 前言 面向对象的SOLID设计原则,外加一个迪米特法则,就是我们常说的5+1设计原则...

  • 构建基于功能稳定性和扩展性的设计分析模型

    最近看了一些的设计原则与设计模式相关的知识,基本每种设计模式都是基于六大设计原则去进行设计的,也了解了一些设计模式...

网友评论

      本文标题:5 设计中的一些原则

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