六大原则

1. 单一职责原则 single Responsibility principle

一个方法只做一件事情,请求数据的函数你就不要渲染数据了,吃饭上厕所别用同一个地方

  假设我们涉及的一个函数,不按照单一职责原则来写,代码的复杂度会提高,因为一个函数内部含有多个功能,而实际上,每个功能都可以独自拆分程一个独立的函数。

  也就是说,每个函数来写一个功能。诸多函数汇总起来,就要形成耦合,也就是以牺牲耦合度的代价来降低复杂度。

2.开闭原则 OCP

  开闭原则 OCP 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭

  面向扩展开放,面向修改关闭 jquery extend,同时增强代码复用性。

3.里氏代换原则 L Subsituation Principle。

  任何基类可以出现的地方,子类一定可以出现。通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。

  一个父类可以访问的接口,父类忙着其他事情,子类可以去访问。

4.迪米特法则 (最小知道原则)LD

  一个接口和一个方法,传入的参数越少越好。降低耦合度的同时也会让复杂程度降低。

谍战片中间谍,两个同一伙间谍互相不知道,为什么要这样呢?
为了最大程度较少伤害,死只死一条线上的人。

形成的关联越少越好 依赖最少。

5.依赖倒置原则 DIP

  最常用的原则,依赖接口,不依赖方法,底层的东西不用了解,我们只需知道表现就可以。降低耦合度

前端应用中可以理解成多者之间依赖状态,而不依赖彼此。

6.接口分离原则 ISP

把大接口拆分小接口,不能一个接口全部实现增删改查

比如我写作业,要细分成,写数学,写英语,写语文等作业。同时降低耦合度了

开发的原则

优先降低复杂度,尽量降低耦合度

  1. 利用单一职责原则,开闭原则,里氏代换原则降低复杂度。
  2. 通过迪米特法则减少耦合度
  3. 通过依赖倒置原则消除可以没有的耦合

原则是理论,模式是在理论上的具体方式
我希望并建议你考试100分,但都是理论,具体还需要落在实际方式方法上,但不可以追求,
其中有时间成本问题,用更多时间去玩还能保证不低的分数也是可以的。

总结

JS中没有接口概念

作为前端开发人员来说,我们用的最多的设计原则是S(单一职责原则).O(开放封闭原则),所以在程序设计的时候我们重点关注这两个即可 ;

前端必须知道——设计模式六大原则相关推荐

  1. 子慕谈设计模式系列(二)——设计模式六大原则

    六大原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 前言 设计模式不容易用文字描述清楚,而过多的代码,看起来也让人摸不到头脑,加上词语或者文字描述的抽象感,很容易让 ...

  2. 设计模式六大原则(SOLID)

    设计模式六大原则(SOLID) Single Responsibility Principle:单一职责原则 Open Closed Principle:开闭原则 Liskov Substitutio ...

  3. python里氏替换原则_设计模式六大原则之里氏替换原则

    这是设计模式6 大原则系列的第二篇文章,附上前一篇文章地址:设计模式六大原则之单一职责原则.本文主要讲解设计模式的里氏替换原则. 肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑.其 ...

  4. PHP 设计模式六大原则

    http://www.cnblogs.com/yujon/p/5536118.html 设计模式六大原则(1):单一职责原则 不要存在多于一个导致类变更的原因.通俗的说,即一个类只负责一项职责 设计模 ...

  5. Java 设计模式六大原则

    Java 设计模式六大原则 单一职责原则 定义:不要存在多于一个导致类变更的原因.通俗的说,即一个类只负责一项职责. 问题由来:类T负责两个不同的职责:职责P1,职责P2.当由于职责P1需求发生改变而 ...

  6. 快速理解设计模式六大原则

    设计模式的核心总结起来就一句话:用抽象构建框架,用实现扩展细节.目的就是代码修改的改动量最小 设计模式六大原则 单一职责原则 很好理解,一个类职责要单一,不要承载过多的职责,就比如说我们电脑上所有的文 ...

  7. 设计模式六大原则——合成/聚合复用原则(CARP)

    1.定义 简而言之,对于合成/聚合复用原则的定义就是:要尽量使用合成和聚合,尽量不要使用继承. 2.释义 为什么"要尽量使用合成和聚合,尽量不要使用继承"呢? 这是因为: 第一,继 ...

  8. 五分钟了解设计模式六大原则(上)

    目录 简介 设计模式是什么? 设计模式六大原则是什么? 设计模式有哪些? 单一职责原则(Single Responsibility Principle) 我们应该如何使用单一职责呢? 里氏替换原则(L ...

  9. 设计模式六大原则之--开闭原则(OCP)

    设计模式六大原则之--开闭原则(OCP) 前言 1 描述 2 理解: 3 问题由来: 4 使用LoD的好处: 5 难点: 6 最佳实践: 7 范例: 前言 The Open - Closed Prin ...

最新文章

  1. 《C#精彩实例教程》小组阅读06 -- C#运算符与表达式
  2. 怎么使用html及jsp开发,jsp怎么用css
  3. 洛谷 [P1314] 聪明的质检员(NOIP2011 D2T2)
  4. php 超过100m文件上传,科技常识:apache+php上传大文件以上传100M为例
  5. 归纳:数据库设计的六个阶段详解(有这一篇就够了)
  6. matplotlib 标签_matplotlib数据可视化基础设置
  7. PyTorch-torch.nn.AdaptiveAvgPool2d
  8. 面向对象(匿名内部类与有名字内部类的比较)
  9. Django-Model操作数据库(增删改查、连表结构)
  10. Exchange Server 2016管理系列课件17.创建和使用会议室邮箱
  11. (配置消息转换器) sso单点登入之jsonp改进版
  12. linux buffer 刷到磁盘,Linux下的磁盘缓存 linux page buffer cache深入理解
  13. win7笔记本外接显示器html,win7系统笔记本怎样外接一个显示器
  14. 设置计算机的启动顺序CDROM.C.A,怎么设置开机从光驱启动
  15. 怎么在uefi解锁磁盘_磁盘不支持uefi布局如何解决_Win10系统更新提示不支持UEFI固件的磁盘布局怎么办...
  16. SQLZOOL练习题答案和解析 第1关 SELECT name
  17. vsCode保存后,浏览器不会刷新
  18. 用cesium实现绘制标尺
  19. 软件设计之“信雅达”
  20. ALC655 VS PCI128D

热门文章

  1. 三级下拉菜单 (通用版):
  2. 2022 【京东】面试真题
  3. 金蝶K3 WISE 快速登录
  4. 004-python中引号的用法
  5. mysql 钩子函数_Vue入门基础(生命周期钩子函数)
  6. VB实现自动发送邮件
  7. 计算机合成图像的技术可应用于,图形字符合成
  8. 如何使用ABBYY FineReader 手动管理文档区域
  9. 成功的关键,不是情商或智商,而是毅力
  10. 关于谢尔宾斯基地毯的讲解