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

新网站建设代理商住房和城乡建设部网站 城市绿地分类

新网站建设代理商,住房和城乡建设部网站 城市绿地分类,武城做网站,免费设计模式—设计模式总览 在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 《Design Patterns - Elements of Reusable Object-Oriented Software》(中文译名:《设计模式 - 可复用的面向对…

设计模式—设计模式总览

在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 《Design Patterns - Elements of Reusable Object-Oriented Software》(中文译名:《设计模式 - 可复用的面向对象软件元素》) 的书,该书首次提到了软件开发中设计模式的概念。

设计模式的两大重要建议:

  1. 对接口编程而不是对实现编程。
  2. 优先使用对象组合而不是继承。

设计模式的基石

以下三大特性能够帮助我们更好的组织类的关系:封装、继承、多态

以下三大内容能够帮助我们更好的设计类中方法如何运行:顺序、判断、循环

设计模式总览

设计模式分为:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)。

他们的关系图如下:

三大类型设计模式关系图

但是我们在实际开发中,经常把这些设计模式加以组合来使用。

设计模式七大原则

设计模式有七大原则,我们可以根据实际情况来进行合理使用,而不是非得依照这些规则。

开闭原则(Open Closed Principle,OCP)

软件实体应当对扩展开放,对修改关闭(Software entities should be open for extension,but closed for modification)
合成复用原则、里氏替换原则相辅相成,都是开闭原则的具体实现规范
也就是开发中尽量扩展新类而不是修改旧类

里氏替换原则(Liskov Substitution Principle,LSP)

继承必须确保超类所拥有的性质在子类中仍然成立(Inheritance should ensure that any property proved about supertype objects also holds for subtype objects)

继承父类而不去改变父类。

依赖倒置原则(Dependence Inversion Principle,DIP)

高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象(High level modules shouldnot depend upon low level modules.Both should depend upon abstractions.Abstractions should not depend upon details. Details should depend upon abstractions)
面向接口编程,而不是面向实现类编程。

单一职责原则(Single Responsibility Principle,SRP)

一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分(There should never be more than one reason for a class to change)

每个类只负责自己的事情,而不是变成万能。

接口隔离原则(Interface Segregation Principle,ISP)

一个类对另一个类的依赖应该建立在最小的接口上(The dependency of one class to another one should depend on the smallest possible interface)。

各个类建立自己的专用接口,而不是建立万能接口。

迪米特法则(Law of Demeter,LoD)

最少知识原则(Least Knowledge Principle,LKP)
只与你的直接朋友交谈,不跟“陌生人”说话(Talk only to your immediate friends and not to strangers)
无需直接交互的两个类,如果需要交互,使用中间者。
过度使用迪米特法则会使系统产生大量的中介类,从而增加系统的复杂性,使模块之间的通信效率降低。

合成复用原则(Composite Reuse Principle,CRP)

又叫组合/聚合复用原则(Composition/Aggregate Reuse Principle,CARP)
软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。

优先组合,其次继承。

http://www.yayakq.cn/news/913986/

相关文章:

  • 学校网站建设评估开源wiki做网站
  • 营销型网站建设知识模板网站禁止右键
  • 中文搜索引擎网站淘宝的网站建设怎么建
  • 网站设计不需要考虑江苏最新消息今天
  • 青岛低价网站建设做网站然后推广
  • 商城网站开发合同免费logo素材
  • 做食品检测的网站查询网 域名查询
  • 网站链接云数据库中国互联网平台
  • 海口网站建设方案咨询徐州网站运营
  • 展示类网站管理员河南省建设厅官方网站李学军
  • 鹤山市住房和城乡建设局网站广西南宁发现一例
  • 设计类网站推荐及介绍网站推广教程分享
  • 科技网站有哪些wordpress 语法
  • 老网站文章突然无收录网站开发网络公司兼职
  • 网站建设前需求调研表大学生创新创业ppt成品
  • drupal 网站开发网站建设的主要流程
  • html网站开发实验报告有没有做美食的小视频网站
  • 哪里网站开发好建行网点
  • 开发设计移动网站建设网站开发用什么语言写
  • 网站建设升级的必要性免费网站推广咱们做
  • 无限空间 网站手机系统优化软件哪个好
  • html5导航网站源码国外做图标网站
  • 免费下载模板的网站有哪些有做火币网这种网站的吗
  • 推荐一个代做毕业设计的网站怎样可以查看网站是由哪个公司做的
  • 网站建设合集网站推广的主要方法有哪些
  • 微信营销软件网站建设网站后台忘了
  • 门户网站建设报价传到网站根目录
  • 留言网站建设济南网站开发
  • 网站开发的简易步骤西安网站漏洞
  • 网站开发技术简介张家港市规划建设网站