设计模式六大原则——迪米特法则(LoD)[通俗易懂]

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

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

    1、背景

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

      设计模式六大原则——迪米特法则(LoD)[通俗易懂]

   

    2、定义

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

  核心思想:最少依赖

  详细体现:

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

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

  

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

  1)、门面(外观)模式

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

 设计模式六大原则——迪米特法则(LoD)[通俗易懂]

   2)、中介者模式

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

  设计模式六大原则——迪米特法则(LoD)[通俗易懂]

    3、规则建议

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

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

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

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

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 前端开发中常用的几种设计模式有哪些_设计模式原理

    前端开发中常用的几种设计模式有哪些_设计模式原理设计模式是对软件设计开发过程中反复出现的某类问题的通用解决方案。设计模式更多的是指导思想和方法论,而不是现成的代码,当然每种设计模式都有每种语言中的具体实现方式。学习设计模式更多的是理解各种模式的内在思想和解决的问题,毕竟这是前人无数经验总结成的最佳实践,而代码实现则是对加深理解的辅助。设计模式可以分为三大类:结构型模式(StructuralPatterns):通过识别系统中组件间的简单关系来简化系统的设计。 创建型模式(CreationalPatterns):处理对象的创..

    2025年7月28日
    4
  • Java常用设计模式

    Java常用设计模式一、设计模式概念1、定义​Java包含23种设计模式,是一套对代码设计经验的总结,被人们反复利用,多人熟知的代码设计方式。2、目的​为了提高代码的可读性,可扩展性以及代码的复用性,为了解决在写代码过程中遇到的代码设计问题。3、设计模式的六大原则​3.1开闭原则​对扩展开放,对修改关闭(尽可能对代码少修改)​3.2里氏替换原则​它是面向对象基本原则之一,任何父类(基类)出现的地方,子类都可以出现,也就是子类可以替换父类的任何功能(体现了父类的可扩展性)3.3依赖

    2022年7月8日
    24
  • 桥模式设计模式进入Bridge

    桥模式设计模式进入Bridge

    2022年1月2日
    66
  • 史上最全设计模式导学目录(完整版)

    史上最全设计模式导学目录(完整版)圣诞献礼!2012年-2013年,Sunny在CSDN技术博客中陆续发表了100多篇与设计模式相关的文章,涵盖了七个面向对象设计原则和24个设计模式(23个GoF设计模式+简单工厂模式),为了方便大家学习,现将所有与设计模式学习相关文章的链接进行了整理,希望能给各位带来帮助!

    2022年6月14日
    26
  • C++设计模式之建造者模式(三)

    C++设计模式之建造者模式(三)

    2022年1月19日
    44

发表回复

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

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