DesignPattern系列__06迪米特原则】的更多相关文章

迪米特原则定义 迪米特原则,也叫最少知道原则,即一个类应该对自己依赖的类知道的越少越好,而你被依赖的类多么复杂,对我都没有关系.也就是说,对于别依赖的类来说,不管业务逻辑多么复杂,都应该尽量封装在类的内部:对外除了必备的public方法,不再泄露任何信息. 1.问题由来 我们知道,类和类是有耦合关系的,关系越密切的两个类之间,其耦合关系越大. 2.对应措施 迪米特原则要求:一个类应该只和之间的直接朋友通信. 1.直接朋友的定义 在上面我们提到了"直接朋友"这个概念,其实,在一个程序对象…
介绍 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小接口上. Demo引入 先来看一张图: interface MyInterface { void operation1(); void operation2(); void operation3(); void operation4(); void operation5(); } class B implements MyInterface { @Override public void operation1() { S…
依赖倒置原则(Dependence Inversion Priiciple,DIP) 介绍 High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Detatils should depend upon abstractions. 翻译过来有是三个意思: 1.高层模块…
1.内容引入--继承体系的思考 在继承中,凡是在父类已经实现的方法,其实算是一种契约或者规范,子类不应该在进行更改(重写):但是,由于这一点不是强制要求,所以当子类进行重写的时候,就会对继承体系产生破坏. 同时,继承带来便利的时候,也有弊端:给程序带来了侵入性,增加了对象之间的耦合性,可移植性低.当你修改基类时,子类都需要进行相应的修改. 那么,如何能够保持继承的优点,同时减少缺点对程序的影响呢?也就是我们要讨论的主角--"里氏替换原则". 2.里氏替换原则的定义 1.第一种定义 如果…
介绍 开闭原则是编程设计中最基本.最重要的原则. 定义:一个软件实体如类.方法和模块等,应该对扩展(提供方)开放,对修改(使用方)关闭.用抽象构建框架,用实现扩展细节. 也就是说,在需求发生新的变化时,我们不应该修改原来的代码,而应该通过扩展来满足新的需求. 例子引入 我们要实现一个画图的功能,能够画出圆形.矩形.三角形等,最常见的思路就是利用面向对象的思想,抽象出一个所有图形对象的基类Shape,具体的图形如矩形.圆形灯继承自该类.在Shape中定义一个变量shapeType来保存具体的图形的…
基本介绍 合成复用原则的核心,就是尽量去使用组合.聚合等方式,而不是使用继承. 核心思想 1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起. 2.针对接口编程,而不是针对实现编程. 3.为了交互对象之间的松耦合设计而努力.…
一.什么是迪米特原则 迪米特原则也叫最少知道原则,一个类应该对其他对象保持最少的了解.通俗来讲,就是一个类对自己依赖的类知道的越少越好.因为类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大. 二.优点: 使对象之间的耦合降到最小,符合高内聚,低耦合的特性,从而使类具有更好的可读性和可维护性. 三.案例: 在项目中,咱们通过vuex请求数据进行页面的渲染的这个工程,页面 只负责渲染, store文件负责数据的状态的更正,页面和store文件之间 是通过 dispatc…
迪米特原则也叫作最少知识原则,也就是:一个对象应该对其他对象有最少的了解.也就是说一个对象应该尽量的保证高内聚性,不应该对外有太多的public方法.…
来源:迪米特法则(LoD)最初是用来作为面向对象的系统设计风格的一种法则,是很多著名系统,如火星登陆软件系统.木星的欧罗巴卫星轨道飞船的软件系统的指导设计原则. 迪米特法则(LoD)又可分为两种:狭义的迪米特法则(LoD)和广义的迪米特法则(LoD). 概念: LOD:LOD,Law Of Demeter 迪米特法则又称最少知识原则,也就是说一个对象应当对其他对象有尽可能少的了解. 狭义的迪米特法则(LoD): 如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用. 如果其中的一个…
迪米特法则来自于1987年美国东北大学(Northeastern University)一个名为“Demeter”的研究项目.迪米特法则又称为最少知识原则(LeastKnowledge Principle, LKP),其定义如下: 迪米特法则(Law of  Demeter, LoD):一个软件实体应当尽可能少地与其他实体发生相互作用. 如果一个系统符合迪米特法则,那么当其中某一个模块发生修改时,就会尽量少地影响其他模块,扩展会相对容易,这是对软件实体之间通信的限制,迪米特法则要求限制软件实体之…