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

做博彩网站的虚拟空间/优质的seo快速排名优化

做博彩网站的虚拟空间,优质的seo快速排名优化,拖拽式网站建设,建程网会员共享迪米特原则(Law of Demeter LoD)是指一个对象应该对其他对象保持最少的了解,又叫最少知道原则(Least Knowledge Principle,LKP),尽量降低类与类之间的耦合。 迪米特原则我们说的再直白一点就是&#xff0c…

迪米特原则(Law of Demeter LoD)是指一个对象应该对其他对象保持最少的了解,又叫最少知道原则(Least Knowledge Principle,LKP),尽量降低类与类之间的耦合。

迪米特原则我们说的再直白一点就是,不该有直接依赖关系的类之间,不要有依赖;有依赖关系的类之间,尽量只依赖必要的接口(也就是定义中的“有限知识”)。

迪米特法则是希望减少类之间的耦合,让类越独立越好。每个类都应该少了解系统的其他部分。一旦发生变化,需要了解这一变化的类就会比较少。

来看个例子,现在要设计一个权限系统,Boss 需要查看目前发布到线上的课程数量。这时候,Boss 要找到 TeamLeader 去进行统计,TeamLeader 再把统计结果告诉 Boss。

1.初始版本

接下来我们还是来看代码:

Course 类:

public class Course {
}

TeamLeader 类:

public class TeamLeader {public void checkNumberOfCourses(List<Course> courseList){System.out.println("目前已发布的课程数量是:"+courseList.size());}
}

Boss 类:

public class Boss {public void commandCheckNumber(TeamLeader teamLeader){// 模拟 Boss 一页一页往下翻页,TeamLeader 实时统计List<Course> courseList = new ArrayList<Course>();for (int i= 0; i < 20 ;i ++){courseList.add(new Course());}teamLeader.checkNumberOfCourses(courseList);}
}

测试代码:

public static void main(String[] args) {Boss boss = new Boss();TeamLeader teamLeader = new TeamLeader();boss.commandCheckNumber(teamLeader);
}

写到这里,其实功能已经都已经实现,代码看上去也没什么问题。根据迪米特原则,Boss 只想要结果,不需要跟 Course 产生直接的交流。而 TeamLeader 统计需要引用 Course 对象。Boss 和 Course 并不是朋友,从下面的类图就可以看出来:

在这里插入图片描述

2.代码重构

下面来对代码进行改造:

TeamLeader 类:

public class TeamLeader {public void checkNumberOfCourses(){List<Course> courseList = new ArrayList<Course>();for(int i = 0 ;i < 20;i++){courseList.add(new Course());}System.out.println("目前已发布的课程数量是:"+courseList.size());}
}

Boss 类:

public class Boss {public void commandCheckNumber(TeamLeader teamLeader){teamLeader.checkNumberOfCourses();}
}

再来看下面的类图,Course 和 Boss 已经没有关联了

在这里插入图片描述

http://www.lbrq.cn/news/1266787.html

相关文章:

  • wordpress中文 插件/吉林刷关键词排名优化软件
  • wap手机网站模板/网络推广策划书
  • 带地板翻转的网站怎么做/网站建设的方法有哪些
  • 只做自己网站/流氓网站
  • 如何做网站滚动条/最近三天发生的重要新闻
  • 可以做网站的网络/网推是什么意思
  • 汕头网站建设设计公司/成都短视频代运营
  • 做一个类似京东的网站/东莞seo广告宣传
  • 网站维护费怎么做会计分录/seo优化网站教程
  • 彩票网站开发需求文档/广州百度推广外包
  • 在线建网站/百度小说风云榜
  • 汉川网站建设/深圳百度推广开户
  • 软件属于网站开发吗/百度seo收录
  • 免费建网站 建站之星/互联网推广销售是做什么的
  • 免费做翻页页面的网站/媒体公关
  • 武汉网站推广哪家好/网游推广员
  • 育才网站建设/网络服务提供商是指
  • 网页前端开发流程/新余seo
  • 公司网站如何做优化/青岛seo计费
  • 案例展示在网站中的作用/网站优化包括哪些
  • 个人博客手机网站模板/自己创建网页
  • 做网站主要显哪些内容/营销软件网站
  • 网站开发项目总结报告/手机推广软文
  • 网站开发成功案例/品牌传播策略
  • 网站开发算法/百度软文
  • 有空间与域名后怎么做网站/seo都用在哪些网站
  • 北京微信小程序/seo数据统计分析工具有哪些
  • 网站建设有什么作用/重庆seo黄智
  • 网站建设服务器费用/360网站推广官网
  • 网站登记备案 个人/国内企业网站模板
  • 二叉树的锯齿形层次遍历
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-56,(知识点:电源模块,DCDC电源,LDO电源,原理及其特点)
  • 基于 LightGBM 的二手车价格预测
  • Java多线程入门-基础概念与线程操作
  • 知识蒸馏 - 基于KL散度的知识蒸馏 HelloWorld 示例
  • 学习笔记:原子操作与锁以及share_ptr的c++实现