00:00
对迪米特法则我们来做一个小结,那么迪米特法则的这个注意事项和细节聊两句,迪米特法则的核心是降低类之间的耦合,对吧?其实说白了,我们所有的法则都在围绕降低类之间的耦合展开的。但是要注意,由于每个类都减少了不必要的依赖。因此,迪米特法则只是要求降低内和内之间的耦合关系,并不是完全没有依赖。就是说你虽然用了迪米特法则可以降低耦合,但呢,注意听,是降低,而不是。而不是要求完全没有依赖,这是不可能的,就说你这个A类和B类之间,只要有相关的东西,它一定会有依赖。只是我们要降低它的耦合度,刚才那个就是降低。对不对,所以说你要完全没有依赖,这是这是不可能的,人和人生活在同样一个社会,只要有接触就一定会有交流,你不能说两个人或者两个模块之间完全没有任何的交集,没有任何的这个依赖,那你那那他就那就不可能协同工作嘛,所以说我们迪米特法则只是要求降低,而不是完全避免,这你也是避免不了的,对吧,依赖关系肯定是存在。
01:14
可肯定是存在的,只是降低它的耦合度。好了,那么我们把迪尼特法则讲的内容呢做一个简单的板书,我们来看迪尼特法则我们讲了哪些内容,聊一聊。好,我们往下走一走,整理的过程其实就是把思路再梳理一遍。那迪米特法则首先呢,我们给大家说了一下他的基本介绍,就是迪米特法则它是什么?一共说了五点。对吧,一共说了五点,我们来看一看。嗯,这个地方呢,呃,要给他强调的是迪米特法则,又叫最少知道原则,比如说有些面试官问你,你知不知道有一个叫做最少知道原则是什么,其实就是迪米特法则。那么他的核心思想就是自己以来的累,对他说,对自己以来的累知道的越少越好,就好,就好像刚才那样。
02:09
我们在打印这个学院的员工信息的时候,我们并不需要知道自己以来的这个类,它是怎么输出的,是不是?诶,就这个意思,还有一个概念呢,同学们一定要明白什么叫直接朋友。就说在我们这一个设计模式里面,只要谈到直接朋友,它其实指的就是类与类之间的一个耦合关系。什么关系?就是构成直接朋友呢?就这样子的。同学们看。就是。那就是如果出现在了成员变量。就它是我的一个属性,或者它是一个方法的参数,或者它是方法的一个返回值,那么我们就称之为A类和B类。他是直接朋友,那如果出现在局部变量中呢,就不是直接朋友,而是陌生类。尽量要避免,尽量要避免突然在我们的局部,在一个方法里面出现了一个局部变量,而这个局部变量呢,它是另外一个类,尽量要去避免这个行为。
03:11
OK,好,这是迪米特法则的一个核心,紧接着呢,我们为了讲解这个案例是不是?呃,讲解迪米特法则,我们做了一个实际应用案例,这个案例呢,就是输出学校的信息。学院总部和学院分部员工的ID信息,然后我们把代码呢,直接就写到这了,好吧。代码演示代码演示具体来说,代码就是在。这写的。不是这儿吧?是在这儿。第一个案例呢?他没有遵守迪米特法则。是吧?OK,那这是第一个案例没有遵守,那紧接着呢,我们就分析了。第一种这个方案它存在的问题,并且呢做了改进。
04:02
并且做了改进,所以说我在这里呢,对第一个案例做了一些分析,他的问题在什么地方。他的问题其实就是我这分析的就是quality manager,不是school manager直接对直接朋友,而且他不是直接朋友吧,他还直接出现在我们的。局部变量了,这样就不允许,不允许过后呢,我就对代码进行了一个改进,代码演示OK。那代码在哪里呢?代码就是改进过后的代码,就是在这个位置。我给同学们放过来。好的。OK,没问题吧,那紧接着呢,我们又对顶尼的法则注意事项。和细节说了一下,就是大家一定要知道,我们在进行编程的过程中,类和类之间我们是追求的降低耦合。降低耦合,而不是说绝对让他们没有没有没有耦合,或者说绝对没有依赖关系,你想做你你也是做不到的,明白吧,所以说你你追求,你追求的只是降低,而不是完全去避免,你完全避免这个代码就。
05:11
没有意义了,对吧,你各个模块完全没有关系,那都是独立的,那怎么弄啊。好的,同学们,关于迪米特法则就给大家介绍到这里。
我来说两句