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

软件工程师要求东莞债优化

软件工程师要求,东莞债优化,免费做外贸的网站平台有哪些,招聘页面设计模板1.背景 1987年秋天由美国Northeastern University的Ian Holland提出#xff0c;被UML的创始者之一Booch等普及。后来#xff0c;因为在经典著作《 The Pragmatic Programmer》而广为人知。 2.概念 迪米特法则#xff08;Law of Demeter#xff09;又叫作最少知识原则被UML的创始者之一Booch等普及。后来因为在经典著作《 The Pragmatic Programmer》而广为人知。 2.概念 迪米特法则Law of Demeter又叫作最少知识原则The Least Knowledge Principle一个类对于其他类知道的越少越好就是说一个对象应当对其他对象有尽可能少的了解,只和朋友通信不和陌生人说话。英文简写为: LOD。 通俗的讲 不该知道的不要知道 一个类应该保持对其它对象最少的了解只和朋友通信不和陌生人说话 降低类之间的耦合度 从依赖者的角度来说只依赖应该依赖的对象 从被依赖者的角度说只暴露应该暴露的方法 设计原则 在类的划分上应该创建弱耦合的类。类与类之间的耦合越弱就越有利于实现可复用的目标 在类的结构设计上尽量降低类成员的访问权限 在类的设计上优先考虑将一个类设置成不变类 在对其他类的引用上将引用其他对象的次数降到最低 不暴露类的属性成员而应该提供相应的访问器set 和 get 方法 谨慎使用序列化Serializable功能 3.案例 需求租客想通过中介找房子租客想要一个20平、2000一个月的。 方案一不满足迪米特原则把所有房源都给租客租客自己选 /// summary/// 房源/// /summarypublic class Room{private int are;private int pay;public int getAre(){return are;}public void setAre(int are){this.are are;}public int getPay(){return pay;}public void setPay(int pay){this.pay pay;}}/// summary/// 中介/// /summarypublic class Mediator{private ListRoom allRooms new ListRoom();/// summary/// 初始化房源/// /summarypublic Mediator(){for (int i 0; i 10; i){Room room new Room();room.setAre((i 1) * 5);room.setPay((i % 4 0 ? 1 : i % 4) * 1000);allRooms.Add(room);}}/// summary/// 获取所有房源/// /summary/// returns/returnspublic ListRoom GetAllRooms(){return allRooms;}}/// summary/// 租客/// /summarypublic class Tenant{public static void RentRoom(Mediator mediator){// 通过中介获取所有房屋ListRoom allRoom mediator.GetAllRooms();foreach(Room room in allRoom){if (IsSuitable(room)){Console.WriteLine(房屋找到了);}}}/// summary/// 判断房子是否满足客户需求/// /summary/// param nameroom/param/// returns/returnsprivate static bool IsSuitable(Room room){// 筛选房屋return true;}}{//LOD:迪米特原则Tenant.RentRoom(new Mediator());} 代码分析 以上的方案是中介直接把所有的房源全部提供给顾客其中就包含不满足租客条件的房源这就增加了租客和房源直接的耦合度。 方案二满足迪米特原则先按照要求把房源筛选出来给租客 /// summary/// 房源/// /summarypublic class Room{private int are;private int pay;public int getAre(){return are;}public void setAre(int are){this.are are;}public int getPay(){return pay;}public void setPay(int pay){this.pay pay;}}/// summary/// 中介/// /summarypublic class MediatorLOD{private ListRoom allRooms new ListRoom();public MediatorLOD(){for (int i 0; i 10; i){Room room new Room();room.setAre((i 1) * 5);room.setPay((i % 4 0 ? 1 : i % 4) * 1000);allRooms.Add(room);}}/// summary/// 找出符合租客要求的房子/// /summary/// param nameare/param/// param namepay/param/// returns/returnspublic Room RentRoom(int are, int pay){// 通过中介获取所有房屋foreach(Room room in allRooms){if (IsSuitable(room, are, pay)){return room;}}return null;}/// summary/// 判断房源是否满足客户的要求/// /summary/// param nameroom/param/// param nameare/param/// param namepay/param/// returns/returnsprivate bool IsSuitable(Room room, int are, int pay){// 筛选房屋return true;}}/// summary/// 租客/// /summarypublic class TenantLOD{/// summary/// 获取满足条件的房源/// /summary/// param namemediator/parampublic static void RentRoom(MediatorLOD mediator){Console.WriteLine(mediator.RentRoom(20, 2000));}}{//LOD:迪米特原则Tenant.RentRoom(new Mediator());}代码分析 相比方案一当前方案把筛选的过程放到了租客能联系到的中介身上中介处理房源而租客和房源的联系微乎其微这就利用了LOD 原则降低了租客和房源的耦合度租客只看到符合条件的房源就可以了。 4.优缺点 优点 降低了类之间的耦合度使类与类之间保持松散的耦合关系 由于耦合度降低提高了模块的相对独立性 提高类的可复用性和系统的扩展性 缺点 迪米特法则是一种面向对象系统设计风格的一种法则尤其适合做大型复杂系统设计指导原则。但是也会造成系统的不同模块之间的通信效率降低使系统的不同模块之间不容易协调等。
http://www.zqtcl.cn/news/69515/

相关文章:

  • 江苏华悦建设集团网站陕西建设执业注册中心网站
  • 石家庄市住房城乡建设局网站保健品网站怎么做的
  • 无为县建设局网站采购
  • 网站制作中山怎样做模板网站
  • 免费开设网站网站源码爬取
  • 知科网站怎样建设手机网站
  • 浙江常规网站建设校园网站开发方案
  • 领英定制通网站建设登封seo公司
  • 网站建设暨检务公开自查报告化妆品应如何网站建设定位
  • 宜春建设网站公司搜索引擎优化包括哪些方面
  • 溧阳网站建设哪家好国外超酷网站
  • 珠宝网站dedecms模版网站应该怎么做
  • 南通网站公司网站建游戏网站
  • 企业网站备案需要什么资料浅谈高校门户网站建设的规范标准
  • 在网站上做承诺php网站开发环境的设置
  • 自己做的网站如何联网wordpress 不用登录
  • 网站做扫一扫做电影网站能不能赚钱
  • 如何查询网站域名备案信息购物网站设计图
  • htm5网站建设惠州企业网站建设
  • 公司网站的搭建方案建立个人博客网站wordpress
  • 建设网站 后期的提成方案广告公司现状
  • 南昌网站开发多少钱室内装饰设计师证书含金量
  • 注册公司制作网站久久建筑网平台
  • 做网站必须要购买空间吗wordpress视频模块
  • 工程网站模板百度关键词搜索排行榜
  • 泰安哪家做网站好百度的合作网站有哪些
  • flask做的网站如何上传文件网站建设的主要职责
  • access数据库网站随州市住房和城乡建设部网站
  • 网站案例库wordpress 聊天室
  • 赤峰网站建设公司项目网络中可以表示一个活动