关闭

设计原则之依赖倒置js

时间: 2019-02-27阅读: 1526标签: 设计

依赖倒置

定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。(百科全书)

这个定义什么意思,太专业 感觉不像人话。。

什么叫高层模块,什么叫底层模块,什么叫抽象,什么叫细节,来画图


上边这个图是遵守了依赖倒置的,再放一个不遵守的



抽象

抽象说白了就是对于细节而言比如说

交通工具是抽象,而公交车、单车、火车等就是细节了 也叫具象,当人和你说把我的交通工具拿过来,你可能在想什么交通工具,所以说

抽象就是你只知道一个概念,但是你不知道他具体是什么

细节呢,就是具体实现他对应的抽象的那么一个实例  下边放代码

// 吃的抽象类
    class eat {
      go() {
        console.log("吃了一个什么")
      }
    }
    //实现类(细节)
    class apple extends eat {
      go() {
        return "吃了一个苹果"
      }
    }

    class banana extends eat {
      go() {
        return "吃了一个香蕉"
      }
    }

    class bigApple extends eat {
      go() {
        return "吃了十个苹果"
      }
    }

    //人类
    class people {
      constructor(name) {
        this.name = name
      }
      gotoEat(food) {
        console.log(this.name, food.go())
      }
    }

    apple = new apple
    banana = new banana
    bigApple = new bigApple
    peopleA = new people("小明")
    peopleB = new people("很饿的大明")


    peopleA.gotoEat(apple)
    peopleA.gotoEat(banana)


    peopleB.gotoEat(bigApple)


 

个人认为如果没有遵守依赖倒置原则的话  那么必然没有遵守开闭原则,后果就是代码耦合严重,不易维护。

以上如果有讲的不对或不足之处,请大家批评指正

原文地址:https://www.cnblogs.com/netUserAdd/p/10436694.html 

 

站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/2145

前端如何和设计师成为好朋友?

分享一些和设计师成为好朋友的个人经验,注意,这些经验技巧只适用于技术开发人员。如果有事情找设计师商量,千万不要站在设计师的背后

优秀网页设计_优秀Web设计的69条设计原则

好的设计能够帮助企业提升数据,同时还可以提供用户一个良好的使用体验。不过今天讨论的重点并不是付费报告,而是这69条设计原则。

新手Web设计师应该避免的 6 宗罪

新手Web设计师和开发人员往往以有缺陷的创作而告终,却不知道真正的故障出自于哪里。虽说有这么多的设计书籍,但即使都读了,也不会对最后的设计有任何意义。在第一个原型中创建一个无缝的设计真的是一个挑战——事实上,只是做好单个部分就是一个难点。

别让这九个闹心的套路毁了你的网页设计

模式化的设计套路之所以为广大网页设计师所喜爱,很大程度上是因为它们具备有良好的可用性和可访问性,在转化率和用户留存率上有着不错的数据表现。但是这些通过数据来体现的设计模式,在用户的视角里,可能并不那么理想。

设计逻辑的细致和严密问题

我们从工程上的精确和准确来引申我们的概念。测量一段距离的长度,得到结果是0.34米,我们可以提高测量的水平,得到一个更好的结果,比如0.342377946米。后者比前者具有更高的精确度(或者简称精度)。我们说后者比前者更“精确”

Javascript面向对象的程序设计

这篇文章是关于Javascript的面向对象的程序设计,主要从三个方面来介绍,1. 理解对象属性; 2. 理解并创建对象; 3. 理解继承

设计师常用的几个资源网站分享

如果你是一名设计师,你的电脑上可能存储了很多的设计网站,但是对于一些新手小白来说,刚接触设计的时候应该怎样进行绘制呢?难道要自己去一笔一笔的进行绘制吗?下面给大家分享几个设计网站

网站设计如何提高用户营销转化率?

用户获取是确定网站成功的核心指标,没有活跃的用户会花费大量资金投入,在获得用户之后,网参与和保留是两个指标,可真实地洞察网站的成功,较低的网站参与度和保留率是导致网站失败的一个因素,而高度参与和保留则相反

网页设计需要学那些东西?

初次接触或者想要进入网页设计行业的朋友会经常分不清楚web前端与网页设计之间的区别,不知道网页设计要学什么,web前端要学什么,因此感到很迷茫?

纯CSS Material Design风格按钮

其实Material Design的扁平化icon按钮,这类型的按钮往往只利用几何色块的变化,就能抓住使用者的眼光,并且从几何形状中明白按钮的含意,这也是Material Design非常强调的设计理念和精髓。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!