设计模式六大原则——迪米特法则(LoD)

设计模式六大原则——迪米特法则(LoD)

大家好,又见面了,我是全栈君。

    1、背景

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

      设计模式六大原则——迪米特法则(LoD)

   

    2、定义

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

  核心思想:最少依赖

  详细体现:

  • 类内部应该高内聚,设置对应的权限。有选择的暴露方法,这就是封装的奥秘。

  • 类的依赖关系尽量降低,保持简单和独立。降低耦合。

  有些东西,能够适当的知道,知道的太多对你不好。

关系越复杂,人越不敢接近你。

要达到非常高的内修养。才干有非常好的表现。

  

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

  1)、门面(外观)模式

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

 设计模式六大原则——迪米特法则(LoD)

   2)、中介者模式

   这里一些对象形成一个中等规模的朋友圈。而圈内非常多的对象都有排列组合般的交互作用。

这时,能够通过创造一个大家共同拥有的朋友对象,然后大家都通过这个朋友对象发生相互作用。而将相互之间的直接相互作用省略掉,这就导致了中介者模式。

  设计模式六大原则——迪米特法则(LoD)

    3、规则建议

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

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

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

   在对其它类的应用上。一个对象对其它类的对象的应用应该降到最低。

尽量限制局部变量的有效范围。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115912.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月28日 下午7:00
下一篇 2022年1月28日 下午8:00


相关推荐

  • 设计模式之责任链模式(职责链模式)

    设计模式之责任链模式(职责链模式)前言在现实生活中 一个事件需要经过多个对象处理是很常见的场景 例如 采购审批流程 请假流程等 公司员工请假 可批假的领导有部门负责人 副总经理 总经理等 但每个领导能批准的天数不同 员工必须根据需要请假的天数去找不同的领导签名 也就是说员工必须记住每个领导的姓名 电话和地址等信息 这无疑增加了难度 在计算机软硬件中也有相关例子 如总线网中数据报传送 每台计算机根据目标地址是否同自己的地址相同来决定是否接收 还有异常处理中 处理程序根据异常的类型决定自己是否处理该异常 还有 Struts2 的拦截器 J

    2026年3月18日
    1
  • php设计模式总结-工厂模式

    php设计模式总结-工厂模式

    2022年3月12日
    34
  • 设计模式(五)适配器模式Adapter(结构型)

    设计模式(五)适配器模式Adapter(结构型)设计模式(五)适配器模式Adapter(结构型)1.概述:接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题。程序提供者们修改他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化。例子1:iphone4,你即可以使用UBS接口连接电脑来充电,假如只有iphone没有电脑,怎么办呢?苹果提供了iphone电源适配器。………

    2022年7月25日
    11
  • Java设计模式之责任链模式、职责链模式「建议收藏」

    继续介绍23种设计模式系列,本文介绍的是职责链模式。

    2022年3月11日
    39
  • 5分钟学习23种设计模式

    5分钟学习23种设计模式设计模式的分类总体来说设计模式分为三大类 创建型模式 共五种 工厂方法模式 抽象工厂模式 单例模式 建造者模式 原型模式 结构型模式 共七种 适配器模式 装饰器模式 代理模式 外观模式 桥接模式 组合模式 享元模式 行为型模式 共十一种 策略模式 模板方法模式 观察者模式 迭代子模式 责任链模式 命令模式 备忘录模式 状态模式 访问者模式 中介者模式 解释器模式

    2026年3月18日
    2
  • Java内存管理-掌握类加载器的核心源码和设计模式(六)

    勿在流沙筑高台,出来混迟早要还的。做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!上一篇文章介绍了类加载器分类以及类加载器的双亲委派模型,让我们能够从整体上对类加载器有一个大致的认识,本文会深入到类加载器源码分析,了解类加载器ClassLoader中核心的源码,并且分析ClassLoader中的设计思想或者设计模式! 本文地图:一、ClassLoader核…

    2022年2月28日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号