博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式六大原则——迪米特法则(LoD)
阅读量:6124 次
发布时间:2019-06-21

本文共 795 字,大约阅读时间需要 2 分钟。

    1、背景

     在图书馆借书,刚開始的时候,直接跑到对应的楼层去,到里面去转,去找要借的书,在里面溜达半天才干找到;后来知道图书馆有一个电脑查询处。然后直接在电脑上输入想要借的书,电脑就会显示你想要借的书的信息,还有所在的相关楼层存放的相关位置。

      

   

    2、定义

     迪米特法则(Law of Demeter)又叫作最少知识原则(LKP,Least Knowledge Principle),就是说一个对象应当对其它对象有尽可能少的了解,类与类之间的了解的越多,关系越密切,耦合度越大,当一个类发生改变时。还有一个类也可能发生变化。

  核心思想:最少依赖

  详细体现:

  • 类内部应该高内聚,设置对应的权限,有选择的暴露方法,这就是封装的奥秘。
  • 类的依赖关系尽量降低,保持简单和独立。降低耦合。

  有些东西,能够适当的知道,知道的太多对你不好。关系越复杂。人越不敢接近你。要达到非常高的内修养,才干有非常好的表现。

  

  3、设计模式中的详细应用

  1)、门面(外观)模式

   假设一个子系统内部的对象构成自己的朋友圈,而子系统外部 对象都属于陌生人的话,那么子系统外部的对象与内部的对象就不应当直接通信,而应当通过一个两方都认可的朋友,也就是门面对象进行通信,这就导致了门面模式。

 

   2)、中介者模式

   这里一些对象形成一个中等规模的朋友圈。而圈内非常多的对象都有排列组合般的交互作用。这时。能够通过创造一个大家共同拥有的朋友对象,然后大家都通过这个朋友对象发生相互作用,而将相互之间的直接相互作用省略掉,这就导致了中介者模式。

  

    3、规则建议

    在类的划分上。应当创建弱耦合的类,类与类之间的耦合越弱。就越有利于实现可复用的目标。

   在类的结构设计上。每一个类都应该减少成员的訪问权限。

   在类的设计上,仅仅要有可能。一个类应当设计成不变的类。

   在对其它类的应用上。一个对象对其它类的对象的应用应该降到最低。尽量限制局部变量的有效范围。

 
你可能感兴趣的文章
在soapui上踩过的坑
查看>>
MySQL的字符集和字符编码笔记
查看>>
ntpd同步时间
查看>>
must implement java.io.Serializable hessian
查看>>
Microsoft Licenses Flash Lite for Windows Mobile Users
查看>>
HDOJ 2020 绝对值排序
查看>>
HDOJ/HDU 2560 Buildings(嗯~水题)
查看>>
Maven编译时跳过Test
查看>>
Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
查看>>
[20170628]12C ORA-54032.txt
查看>>
除以2
查看>>
高可用集群原理解析
查看>>
Nginx配置URL转向tomcat
查看>>
极客Web前端开发资源大荟萃#001
查看>>
让div固定在某个位置
查看>>
Java开发环境Docker镜像
查看>>
从无到有,WebService Apache Axis2初步实践
查看>>
任务调度(一)——jdk自带的Timer
查看>>
UIKit框架(15)PCH头文件
查看>>
整理看到的好的文档
查看>>