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

建网站logo怎么做电子商务网站案例分析

建网站logo怎么做,电子商务网站案例分析,网上书店网站建设规划书,wordpress域名展示开一个小专题——详细总结一下软件设计模式原则#xff0c;这部分在《软计》和《java设计模式》中算是很重要的知识点#xff0c;值得展开详细讲解一下~首先介绍的是【迪米特法则】 一.定义 迪米特法则又称为最少知识原则#xff0c;其定义为#xff1a;一个软件实体应当尽…开一个小专题——详细总结一下软件设计模式原则这部分在《软计》和《java设计模式》中算是很重要的知识点值得展开详细讲解一下~首先介绍的是【迪米特法则】 一.定义 迪米特法则又称为最少知识原则其定义为一个软件实体应当尽可能少的与其他实体发生相互作用。 一个软件实体应当尽可能少的与其他实体发生相互作用每一个软件单位对其他的单位都只有最少的知识而且局限于那些与本单位密切相关的软件单位。迪米特法则的初衷在于降低类之间的耦合。由于每个类尽量减少对其他类的依赖因此很容易使得系统的功能模块功能独立相互之间不存在或很少有依赖关系。迪米特法则不希望类之间建立直接的联系。如果真的有需要建立联系也希望能通过它的友元类来转达。因此应用迪米特法则有可能造成的一个后果就是系统中存在大量的中介类这些类之所以存在完全是为了传递类之间的相互调用关系——这在一定程度上增加了系统的复杂度。 英文缩写为LOD 如果两个软件实体无须直接通信那么就不应当发生直接的相互调用可以通过第三方转发该调用。其目的是降低类之间的耦合度提高模块的相对独立性。 二.描述 如果一个系统满足迪米特法则那么当其中一个软件实体发生变化时就会尽量少的影响其他软件实体扩展会相对容易这是对软件实体之间通信的限制迪米特法则要求限制软件实体之间通信的宽度和深度。 迪米特法则还有几种定义形式包括不要和陌生人说话、只与你的直接朋友通信在迪米特法则中对于一个对象其朋友包括以下几类 当前对象本身(this)以参数形式传入到当前对象方法中的对象当前对象的成员对象如果当前对象的成员对象是一个集合那么集合中的元素也都是朋友。当前对象创建的对象 任何一个对象如果满足上面的条件之一就是当前对象的“朋友”否则就是“陌生人”。在应用迪米特法则时一个对象只能与直接朋友发生交互不能与“陌生人”发生直接交互好处在于降低耦合~ 迪米特法则要求我们在设计系统时应该尽量减少对象之间的交互如果两个对象不必直接通信那么这两个对象就不应该发生任何直接的相互作用如果其中一个对象需要调用另外一个对象的某个方法时可以通过【友元类】转发这个调用。 在迪米特法则运用到系统设计中时要注意以下几点 在类的划分上应该尽可能的创建松耦合的类类之间的耦合度越低复用率越高一个松耦合的类发生修改不会对关联的类造成太大的影响。在类的结构设计上每一个类都应当尽可能的降低其成员变量和成员方法的访问权限。在类的设计上只要有可能一个类型应当设计成不变类。在对其他类的引用上一个对象对其他对象的引用应该降到最低。 三.案例 假设现在有一段时间需要你学习某些内容有代码如下 public class Time{public void studyMath() {// do something}public void studyChinese() {// do something}public void studyEnglish() {// do something}public void study() {studyEnglish();studyChinese();studyMath();} }public class Person {private Time time;public void Now() {// 学习什么都可以// 但是你发现Study类所有的方法都是公开的, 现在不知道该先学习哪个time.studyMath();time.study();//也可以是time.studyMath();time.studyEnglish();} } 上述代码违背了迪米特原则即对于对象time此时不知道该学习什么——有多个方法可以调用~ 学一门还是三门都学 如果改为如下的样式则正确 public class Time{private void studyMath() {// do something}private void studyChinese() {// do something}private void studyEnglish() {// do something}public void study() {studyEnglish();studyChinese();studyMath();} }public class Person {private Time time;public void Now() {// 学习什么都可以// 但是你发现Study类所有的方法都是公开的, 现在不知道该先学习哪个time.studyMath();time.study();//也可以是time.studyMath();time.studyEnglish();} }总结就是一句话——尽可能降低现有的耦合避免直接调用。
http://www.zqtcl.cn/news/62935/

相关文章:

  • 用模板做网站的方法衡阳的房地产网站建设
  • 广西哪家公司做网站的编程开发工具有哪些
  • 巅云建站滨海做网站价格
  • o2o免费网站建设山东省建设执业资格注册管理中心网站
  • php 网站 手机版无锡网站建设服务公司
  • 张家港手机网站制作wordpress4.0慢
  • 做网站有哪些软件wordpress移动主题
  • apache发布多个网站北京建筑公司
  • 推荐购物网站建设官网查询在哪里查
  • wordpress设置关键词seo关键词词库
  • 网站建设在后台哪里查看网页制作素材打包下载
  • 做游戏网站要多少钱潍坊高端网站开发
  • 网站建设中 html 下载网站建设先进城市
  • html门户网站模板网站做的相似
  • 怎么做淘宝客的网站放单网站建设
  • 温州建设诚信评价网站公示免费网络电话在线拨打
  • 旅游投资公司网站建设ppt模板edu网站开发
  • 深圳广告设计公司网站福田区龙岗区发布通告
  • 站长工具seo优化系统文字排版都用哪些网站
  • 华为官方手表网站自己做的网站百度搜不到
  • 网站建设 摊销年限信息平台网站建设
  • 网站开发属于承揽合同吗一览英才网
  • 有经验的南昌网站制作排名优化是什么意思
  • 信誉好的扬中网站建设网站没有织梦后台
  • 济南网站建设多少费用wordpress 福利吧主题
  • 企业网站建设公司电话学校网站建设的意义与途径
  • 江西建设信息网站放置在网站根目录下
  • 网站建设菜单栏设计种子在线资源搜索神器
  • 广州开发网站报价asp 茶叶网站模板
  • 一站式建设网站wordpress pdf 显示不了