首页 > Web开发 > 详细

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

时间:2019-03-02 12:23:23      阅读:263      评论:0      收藏:0      [点我收藏+]

一.什么是迪米特原则

迪米特原则也叫最少知道原则,一个类应该对其他对象保持最少的了解。如果两个类不必彼此直接通信,那么,这两个类就不应该发生直接的相互作用,如果其中一个类需要调用另一个类的某一个方法的时候,就可以通过第三者转发这个调用。

二。优点:

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

三。案例:

在项目中,咱们通过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()

四。注意:

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

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

原文:https://www.cnblogs.com/mn6364/p/10459199.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!