• js的七大设计原则--迪米特原则


    一.什么是迪米特原则

    迪米特原则也叫最少知道原则,一个类应该对其他对象保持最少的了解。通俗来讲,就是一个类对自己依赖的类知道的越少越好。因为类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。

    二。优点:

    使对象之间的耦合降到最小,符合高内聚,低耦合的特性,从而使类具有更好的可读性和可维护性。

    三。案例:

    在项目中,咱们通过vuex请求数据进行页面的渲染的这个工程,页面 只负责渲染, store文件负责数据的状态的更正,页面和store文件之间 是通过 dispatch 进行联系的。所以 这个过程咱们可不可以理解为“迪米特法则”呢?dispatch 这个方法就相当于中介,将页面的渲染和请求数据的关联起来。

    我们通过手机去阅读电子书这个过程,就是 打开手机,打开阅读软件,选择书籍,进行阅读.手机和阅读电子书是两个不相干的事情,但是需要阅读软件将二者进行关联。

        // 定义手机类
      function Phone() {
        console.log('phone', this)
        this.app = new App();
        this.openPhone = function() {
          console.log('打开app')
          this.app.openApp()
        }
      },
      // 定义App
      function App() {
        console.log('app', this)
        this.reading = new Reading();
        this.openApp= function () {
          console.log('app进行阅读')
          this.reading.read()
        }
      },
      // 定义阅读
      function Reading() {
        console.log('reading', this)
        this.read= function () {
          console.log('开始阅读了啦啦啦')
        }
      }
    使用: var phone = new Phone()
    phone.openPhone()

    四。注意:

    迪米特法则的初衷使降低类之间的耦合,由于每个类都减少了不必要的依赖,因此可以降低耦合关系。但是要适度,虽然可以避免与非直接的类通信,但是通信需要 一个“中介”来发生联系。就拿上面的案例来说,阅读软件就相当于“中介”,来使手机和阅读进行联系。过分的使用迪米特法则,会产生大量的中介列,导致系统复杂度变大。

  • 相关阅读:
    documentFragment文档碎片
    OpenResty之resty.limit.count 模块介绍
    vue前端分页多条件搜索
    element ui Tree树形控件获取未全选父节点和子节点id
    如何使 pdf 文件在浏览器里面直接下载而不是打开
    关于本博客
    圆锥曲线基础知识点
    NOI2021游记
    20210716模拟赛
    计数+动态规划
  • 原文地址:https://www.cnblogs.com/mn6364/p/10459199.html
Copyright © 2020-2023  润新知