迪米特法则
迪米特法则
:如果两个类不必彼此直接通信,那么这两个类就不应当直接的相互作用,如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
在面向对象编程中,类之间的相互调用是很常见的,我们经常需要在一个类中访问另一个类的成员或方法。问题是,如果类经常被调用的话,我们就要考虑到代码的可维护性和复用性。程序中代码的耦合过高可不是一件好事。
迪米特法则首先强调的前提是在
类的结构设计
上,每一个类都应当尽量降低成员的访问权限,也就是说,一个类包装好自己的private状态,不需要让别的类知道的字段或行为就不要公开。而需要公开的字段,通常就用属性来体现,这也是面向对象的封装思想。
如下图,我这个类,在办理入职时,可能需要去认识 人事类,员工张三等等,各类之间的关系就会很复杂。
根据迪米特法则,两个类之间没必要直接通信,可以通过第三者来转发。
image.png
网友评论