当前位置: 首页 > news >正文

上海做网站哪家公司好百度自然排名优化

上海做网站哪家公司好,百度自然排名优化,做网站编辑工作累吗,做网站的工作小谈设计模式(12)—迪米特法则 专栏介绍专栏地址专栏介绍 迪米特法则核心思想这里的“朋友”指当前对象本身以参数形式传入当前对象的对象当前对象的成员变量直接引用的对象目标 Java程序实现程序分析 总结 专栏介绍 专栏地址 link 专栏介绍 主要对目…

小谈设计模式(12)—迪米特法则

  • 专栏介绍
    • 专栏地址
    • 专栏介绍
  • 迪米特法则
    • 核心思想
    • 这里的“朋友”指
      • 当前对象本身
      • 以参数形式传入当前对象的对象
      • 当前对象的成员变量直接引用的对象
      • 目标
    • Java程序实现
      • 程序分析
    • 总结

专栏介绍

专栏地址

link

专栏介绍

主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。
在这里插入图片描述

迪米特法则

迪米特法则(Law of Demeter)也被称为最少知识原则(Least Knowledge Principle),是一种面向对象设计的原则,它强调一个对象应该尽量减少与其他对象之间的相互依赖。
在这里插入图片描述

核心思想

尽量减少对象之间的相互依赖,使对象之间的耦合度降低。具体来说,它强调一个对象应该只与其直接的朋友进行交互,而不与陌生的对象进行直接交互。

这里的“朋友”指

在这里插入图片描述

当前对象本身

一个对象可以调用自身的方法,因为它对自身的结构和行为是了解的。

以参数形式传入当前对象的对象

一个对象可以调用作为参数传入的对象的方法,因为它对传入的对象的结构和行为是了解的。

当前对象的成员变量直接引用的对象

一个对象可以调用它的成员变量直接引用的对象的方法,因为它对成员变量引用的对象的结构和行为是了解的。

目标

降低对象之间的耦合度,提高系统的可维护性、可扩展性和可复用性。通过限制对象之间的直接交互,减少了对象之间的依赖关系,使系统更加灵活、易于修改和测试。

遵循迪米特法则可以使系统的设计更加模块化,每个对象只需要关注自身的职责,而不需要了解其他对象的内部细节。这样可以降低系统的复杂性,提高代码的可读性和可维护性。同时,迪米特法则也有助于提高系统的可扩展性,因为减少了对象之间的直接依赖,新增功能时只需要修改少量的对象即可。
在这里插入图片描述

Java程序实现

// 定义一个学生类
class Student {private String name;public Student(String name) {this.name = name;}public String getName() {return name;}
}// 定义一个班级类
class Class {private String className;private List<Student> students;public Class(String className, List<Student> students) {this.className = className;this.students = students;}public String getClassName() {return className;}public List<Student> getStudents() {return students;}
}// 定义一个学校类
class School {private String schoolName;private List<Class> classes;public School(String schoolName, List<Class> classes) {this.schoolName = schoolName;this.classes = classes;}public String getSchoolName() {return schoolName;}public List<Class> getClasses() {return classes;}
}// 客户端代码
public class Main {public static void main(String[] args) {// 创建学生对象Student student1 = new Student("Tom");Student student2 = new Student("Jerry");// 创建班级对象List<Student> students = new ArrayList<>();students.add(student1);students.add(student2);Class class1 = new Class("Class1", students);// 创建学校对象List<Class> classes = new ArrayList<>();classes.add(class1);School school = new School("School1", classes);// 输出学校的名称和班级的名称System.out.println("School Name: " + school.getSchoolName());for (Class c : school.getClasses()) {System.out.println("Class Name: " + c.getClassName());}// 输出班级中的学生姓名for (Class c : school.getClasses()) {for (Student s : c.getStudents()) {System.out.println("Student Name: " + s.getName());}}}
}

程序分析

学生类、班级类和学校类之间的关系是符合迪米特法则的。学生类只与班级类有直接的关联,班级类只与学校类有直接的关联,而学生类和学校类之间没有直接的关联。这样可以降低对象之间的耦合度,提高系统的灵活性和可维护性。

在客户端代码中,我们创建了一个学校对象,然后通过学校对象获取班级对象和学生对象,并输出它们的信息。通过迪米特法则,我们可以看到客户端代码只需要与学校类进行交互,而不需要了解班级类和学生类的内部细节,这样可以降低客户端代码与其他类的直接依赖,使系统更加灵活和易于维护。
在这里插入图片描述

总结

迪米特法则强调了对象之间的松耦合设计,通过减少对象之间的直接依赖,提高系统的灵活性和可维护性。遵循迪米特法则可以使系统更加模块化、可扩展和易于测试。

http://www.dinnco.com/news/14186.html

相关文章:

  • 路由器做网站终端多地优化完善疫情防控措施
  • linux服务器怎么做网站品牌运营管理有限公司
  • 网页设计页面链接seo网站排名优化案例
  • 阿里云主机网站开发竞价代运营外包公司
  • 建设网站需要用到哪些软件松松软文平台
  • 做服装最好的网站建设网站排名查询站长之家
  • 如需郑州网站建设搜索引擎排名优化价格
  • 做简历有什么网站关键词优化seo
  • it程序员需要什么学历seo优化及推广如何运营
  • 自动优化网站建设电话360竞价推广
  • 武汉中禾建设品牌关键词排名优化怎么做
  • jsporacle动态网站开发互联网域名交易中心
  • 如何做网站的优化广州网站优化公司如何
  • 一个ip可以做几个网站互联网营销师题库
  • 做网站哪个系统最安全如何查看百度搜索指数
  • 安徽建设工程信息网路灯项目口碑优化
  • 手表网站十大品牌百度人工客服电话
  • 漂亮的flash网站河南seo排名
  • 网站欢迎屏怎么做郑州seo教程
  • 晋中路桥建设集团网站网络优化工具
  • 坪山网站建设设计网站编辑
  • 济南学网站建设哪里好html网站模板免费
  • 山东跨境电商建站公司移动优化课主讲:夫唯老师
  • 网站上传独立服务器怎么宣传自己的产品
  • 网站运营代理如何制作简单的网页链接
  • 老网站怎么做seo优化郑州seo学校
  • wordpress 花瓣模板北京网站seo优化推广
  • 云南建设投资集团网站资源最多的磁力搜索引擎
  • 河南郑州哪里可以做公司网站宁波seo超级外链工具
  • 北京网站模板建设营销中存在的问题及对策