>北京教育培训网>北京教育培训>北京职业培训>软件开发培训:开闭原则丨穿衣服.. 免费发布职业培训信息
广告
热门浏览

软件开发培训:开闭原则丨穿衣服的例子

更新时间:2017-04-17 15:33:39 信息编号:114364533
软件开发培训:开闭原则丨穿衣服的例子
16800≥ 1位
  • 16800.00 元

  • 线下

  • 软件开发培训,开闭原则,穿衣服

分享

详情介绍

软件开发培训:开闭原则丨穿衣服的例子

服务项目
软件开发培训,中软国际培训,Android开发培训,PHP开发培训
面向地区
培训方式
线下
  文章来源:
  软件开发中经常需要注意的原则有哪些呢?开闭原则就是其中之一
  “开闭原则“图示如下:

  让我来解释一下,设计规则如下:
  “软件实体(类,模块,函数等)应该对扩展开放,对修改关闭。”
  这意味着在基本的层面上,你可以扩展一个类的行为,而无需修改。这就像我能够穿上衣服,而对我的身体不做任何改变,哈哈。
  同学:太有意思啦. 你可以通过穿不同的衣服来改变你的外貌, 但是你不必为此改变自己的身体。所以你是对扩展开放的, 对吧?

  小卓:是的。在面向对象设计中, 对扩展开放意味着模块/类的行为可以被扩展。那么当需求变化时我们可以用各种各样的方法制定功能来满足需求变更或者新需求。
  同学:除此之外你的身体是对修改关闭的。 我喜欢这个例子. 所以, 对于核心模块或类的代码在需要扩展的时候不应该被修改。你能结合具体例子解释下吗?
  小卓:当然了, 先看下面的例子.这个就不支持 "开放-关闭" 原则:

  类的层次结构已经表明了这是违反"开放-关闭"原则的。
  你看, 客户端类和服务端类都是具体的实现类。因为, 如果某些原因导致服务端实现改变了, 客户端也需要相应变化。
  同学:有道理. 如果一个浏览器的实现和一个的服务器(比如IIS)紧紧的耦合在一起 , 那么如果服务器由于某种原因替换成了另外的 (比如, Apache) 浏览器也需要做相应的变化或者被替换掉. 多么恐怖的一件事啊!
  小卓:非常正确!因为下面的将是一种好的设计方案:

  类的层次关系展示了"开放-关闭"原则
  在这个例子中, 添加了一个抽象的Server类, 并且客户端保持了抽象类的引用, 具体的Server类实现了这个抽象Server类。所以, 由于某种原因Server的实现类发生了改变, 客户端不需要做任何改变。
  这里的抽象的Server类对修改关闭, 具体的Server实现类对扩展开放。
  同学:我的理解是, 抽象是关键, 对吗?
  小卓:是的, 基本上, 你要对系统的核心业务进行抽象, 如果你抽象化做的比较好, 很可能, 在扩展功能的时候它们不必做任何改变 (比如Server就是一个抽象的概念)。你所定义的抽象的实现 (比如, IIS服务器实现了 Server) 和抽象的代码 (Server) 要尽可能的多。这样在客户端代码中不需要做任何修改就会允许你定义一个新的实现(比如, ApacheServer)。
  下一篇文章,我们将讨论“面向对象之里氏替换原则”
  出处:开源中国
  译者:K6F, 凡程子, 叫我蝴蝶吧, 王薇, 人头马没面, 铂金小龟, 风子, nikeff1108, sigai
  链接:-i-explained-ood-to-my-wife?lang=chs&page=4#
  了解更多软件开发知识欢迎访问中软国际教育集团技术知识库!

北京中软国际教育科技股份.. 8年

  • java培训,软件开发培训
  • 北京市海淀区科学院南路2号融科资讯中心C座北楼15层1502

———— 认证资质 ————

没有个人认证
企业认证已通过
天眼查已核实
没有手机认证
没有微信认证

最近来访记录

  • 北京朝阳网友用iPhone手机一个月前在百度APP访问了本页
  • 北京丰台网友用iPhone手机一个月前在百度APP访问了本页

相关推荐产品

留言板

  • 软件开发培训中软国际培训Android开发培训PHP开发培训开闭原则穿衣服
  • 价格商品详情商品参数其它
  • 提交留言即代表同意更多商家联系我
北京中软国际教育科技股份有限公司为你提供的“软件开发培训:开闭原则丨穿衣服的例子”详细介绍,包括软件开发培训价格、型号、图片、厂家等信息。如有需要,请拨打电话:18612657643。不是你想要的产品?点击发布采购需求,让供应商主动联系你。
“软件开发培训:开闭原则丨穿衣服的例子”信息由发布人自行提供,其真实性、合法性由发布人负责。交易汇款需谨慎,请注意调查核实。
留言询价
×