设计原则之依赖倒置js

更新日期: 2019-02-27 阅读: 5.4k 标签: 设计

依赖倒置

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

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

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


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



抽象

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

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

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

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

// 吃的抽象类
    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 

 

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/2145

相关推荐

UED与UCD_用户体验设计/设计思考模式

User Experience Design(用户体验设计),简称UED。UED是以用户为中心的一种设计手段,以用户需求为目标而进行的设计。以用户为中心的设计, 英文叫做User-Centered Design 缩写为UCD,他是UED的一种具体的设计实现理念。

网页设计需要注意什么?

网页设计需要注意什么?在不同设备上采用相似的设计,导航的设计要简单易用、清晰明了,改变访问过的链接的颜色,让页面浏览变得更容易,仔细检查所有的链接,确保能点击的元素让用户看起来就能点击、不要让促销广告遮住内容

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

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

玻璃拟物化风格(Glassmorphism)设计与前端实现

玻璃拟物化风格(Glassmorphism)是这两年有人提出来的一种风格,乍一看和以前的毛玻璃效果很像(至少再我看来是差不多啦~)。玻璃拟物化风格在以前毛玻璃的效果上再调整点细节

解密 Design System

设计系统的产生是为了某领域内产品在不同平台和设备上都保持设计和交互风格的统一。既然是一个系统 ,那必须具有相应的完整性,它为产品设计,产品内容等方面提供相应的指导

CSS 实现新拟态(Neumorphism) UI 风格

新拟态是一种图形样式,其原理是为界面的UI元素赋予真实感。原生名词有几个叫法,Neumorphism / soft ui,翻译过来是新拟态或者是软ui。国内的翻译叫,新拟物风格。Neumorphism,是New +Skeuomorphism的组合词

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

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

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

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

纯CSS Material Design风格按钮

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

设计师该不该学Web前端?_究竟需不需要了解HTML和CSS

先说说大家平时最苦恼的设计稿还原度问题,一个视觉超赞的稿子,怎么到了前端手里,字体边距就乱七八糟呢?为什么没对齐,为什么没加粗,还有说好的动效怎么都没上,完全不是情感化设计了啊。

点击更多...

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