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

站长工具之家seo查询工程公司招聘

站长工具之家seo查询,工程公司招聘,租网站空间,深圳平面设计公司排名榜七大设计原则 文章目录 七大设计原则一、概述二、单一职责原则三、接口隔离原则四、依赖倒转原则五、里氏替换原则六、开闭原则七、迪米特法则八、合成复用原则 一、概述 设计模式是为了让程序(软件)#xff0c;具有更好代码重用性#xff0c;可读性#xff0c;可扩展性具有更好代码重用性可读性可扩展性可靠性。使程序呈现高内聚低耦合的特性。 设计模式原则其实就是程序员在编程时应当遵守的原则也是各种设计模式的基础(即: 设计模式为什么这样设计的依据) 单一职责原则接口隔离原则依赖倒转(倒置)原则里氏替换原则开闭原则迪米特法则合成复用原则 二、单一职责原则 一个类应该只负责一项职责如实体类实体类中不应进行其他业务操作。 举例比如在一个绘图系统中定义一个矩形类类中包含了长、宽同时定义了一个绘制矩形的方法在这个方法中难免要使用到GUI库的引用这会导致程序在加载矩形类的时候也消耗链接、编译时间、内存空间和存储空间等。其次在绘制矩阵方法中绘制方法中可能用到自定义的绘制方法当有需求要更改自定义的绘制方法时就强制要求将矩形类也要重新编译测试及部署。 职责的统一需要根据业务和需求来判断识别出同一种类型的职责这也是比较难的一点。 三、接口隔离原则 一个类对另一个类的依赖应该建立在最小的接口。 当一个类依赖于某个接口的部分方法而不是全部方法时应考虑将接口拆分而不是增加多余的空实现。 四、依赖倒转原则 依赖倒转(倒置)的中心思想是面向接口编程比如接收信息只依赖于接收信息接口在后续增加接收信息的方式时调用方无需修改代码即可无缝衔接 高层模块都不应依赖底层模块的实现而应只依赖于抽象抽象也不应该依赖于细节细节应该依赖于抽象使用接口或抽象类的目的是制定好规范而不涉及任何具体的操作把展现细节的任务交给他们的实现类去完成 依赖倒转原则是基于这样的设计理念相对于细节的多变性抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在 java 中抽象指的是接口或抽象类细节就是具体的实现类 五、里氏替换原则 问题提出在编程中如何正确的使用继承? 里氏替换原则 继承包含这样一层含义父类中凡是已经实现好的方法实际上是在设定规范和契约虽然它不强制要求所有的子类必须遵循这些契约但是如果子类对这些已经实现的方法任意修改就会对整个继承体系造成破坏。 继承在给程序设计带来便利的同时也带来了弊端。比如使用继承会给程序带来侵入性程序的可移植性降低增加对象间的耦合性如果一个类被其他的类所继承则当这个类需要修改时必须考虑到所有的子类并且父类修改后所有涉及到子类的功能都有可能产生故障。 如果对每个类型为 T1 的对象 o1都有类型为 T2 的对象 o2使得以 T1 定义的所有程序 P 在所有的对象 o1 都代换成 o2 时程序 P 的行为没有发生变化那么类型 T2 是类型 T1 的子类型。换句话说所有引用基类的地方必须能透明地使用其子类的对象在使用继承时遵循里氏替换原则在子类中尽量不要重写父类的方法里氏替换原则告诉我们继承实际上让两个类耦合性增强了在适当的情况下可以通过 聚合组合依赖 来解决问题 六、开闭原则 开闭原则Open Closed Principle是编程中最基础、最重要的设计原则 一个软件实体如类模块和函数应该对扩展开放(对提供方)对修改关闭(对使用方)。用抽象构建框架用实现扩展细节即创建多个实现类实现不同细节。当软件需要变化时尽量通过扩展软件实体的行为来实现变化而不是通过修改已有的代码来实现变化。编程中遵循其它原则以及使用设计模式的目的就是遵循开闭原则。 七、迪米特法则 迪米特法有个简单的定义只与直接的朋友通信 直接的朋友每个对象都会与其他对象有耦合关系只要两个对象之间有耦合关系我们就说这两个对象之间是朋友关系。耦合的方式很多依赖关联组合聚合等。其中我们称出现成员变量方法参数方法返回值中的类为直接的朋友而出现在局部变量中的类不是直接的朋友。也就是说陌生的类最好不要以局部变量的形式出现在类的内部。 一个对象应该对其他对象保持最少的了解类与类关系越密切耦合度越大迪米特法则(Demeter Principle)又叫最少知道原则即一个类对自己依赖的类知道的越少越好。也就是说对于被依赖的类不管多么复杂都尽量将逻辑封装在类的内部。对外除了提供的 public 方法不对外泄露任何信息 八、合成复用原则 原则是尽量使用合成/聚合的方式而不是使用继承
http://www.hkea.cn/news/14293279/

相关文章:

  • 无锡设计网站小程序 wordpress打包
  • 常用的网站开发如何建设内部网站
  • 网站建设哪种语言好wordpress it模板
  • 无锡做网站选优易信二维码插件wordpress
  • 安徽公司网站建设wordpress安装第二步
  • 网站后台补丁如何做wordpress批量导入用户
  • 怎么用小旋风网站建设教程上海加强旅游住宿业与商业场所
  • 可以做热图的工具网站设计素材网站花瓣
  • 内容转载的网站怎么做公司网站开发
  • 购物网站最重要的功能北京装饰公司前十名
  • 保险代理做的比较好的网站网站 域名空间 调试
  • 如何上传ftp网站程序珠海网站建设专业设计
  • 龙门城乡规划建设局网站wordpress底部自豪
  • 深圳招聘网站开发wordpress 主页修改
  • 山东省专业群建设网站网站建设公司ejiew
  • 做虚拟货币交易网站一级A做爰片安全网站
  • 自己电脑做服务器网站吗pda智能巡检系统
  • 南京网站制作百家号商务网站建设与维护 课件
  • 奉化网站建设报价用c 实现网站开发
  • 英文网站标题字体科技公司网站制作模板
  • 甘肃省网站备案优化大师怎么强力卸载
  • 网站建设公司推广方式科技软件公司网站模板
  • 网站流量团队房地产客户管理系统有哪些
  • 网络服务的重要性网站优化营销
  • 网站域名收费吗域名购买推荐
  • 专注苏州网站优化热门页游排行榜前十名
  • 网站建设东莞海南网站优化公司
  • 计算机网站开发是那个语言如何还原wordpress
  • 备案的网站如何访问炫酷网站欣赏
  • 公司网站开发维护06628 网页制作与网站建设