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

眉山市网站建设_网站建设公司_Windows Server_seo优化

石家庄做网站的公司,怎么增加网站流量,短网址源码wordpress,南宁网站建设nayuwang定义 一个类只负责一项职责 职责扩散 什么叫职责扩散#xff0c;就是职责再进行细化#xff0c;就拿公司来说#xff0c;好比客户的需求#xff0c;需求是不断变化的#xff0c;而且存在极大的不确定性#xff0c;说不定哪天上司找到你要重新细化某个需求 所以最好在职责…定义   一个类只负责一项职责   职责扩散   什么叫职责扩散就是职责再进行细化就拿公司来说好比客户的需求需求是不断变化的而且存在极大的不确定性说不定哪天上司找到你要重新细化某个需求   所以最好在职责扩散到我们无法控制的程度之前立刻对代码进行重构   栗子   我们先下面这段代码 class Animal:def __init__(self,name):self.name namedef breathe(self):print(%s用肺呼吸%self.name)niu Animal(小奶牛) zhu Animal(小白猪)niu.breathe() zhu.breathe()我们很快就能从上面代码中发现一些逻辑上的错误因为不是所有的动物都是用肺呼吸有的使用腮呼吸的应该将Animal类细分为陆生动物类Terrestrial水生动物类Aquatic代码如下 class Animal:def __init__(self,name):self.name nameclass Terrestrial(Animal):def breathe(self):print(%s 用肺呼吸%self.name)class Aquatic(Animal):def breathe(self):print(%s 用腮呼吸%self.name)c Terrestrial(小花猫) c.breathe()fish Aquatic(美人鱼) fish.breathe()我们看到上面代码的实现就是动物类分出两类并把呼吸的方法写入的派生类里好这样做是没问题的那看看下面这段代码 class BreatheBehavior:def breathe(self):passclass LungBreathe(BreatheBehavior):def breathe(self):print(用肺呼吸)class CheekBreathe(BreatheBehavior):def breathe(self):print(用腮呼吸)class Animal:def __init__(self,name,breatheP):self.name nameself.BreatheParam breathePdef performBreathe(self):self.BreatheParam.breathe()class Terrestrial(Animal):def __init__(self,name,breathePLungBreathe()):super(Terrestrial,self).__init__(name,breatheP)class Aquatic(Animal):def __init__(self,name,breathePCheekBreathe()):super(Aquatic,self).__init__(name,breatheP)c Terrestrial(小花猫) c.performBreathe()fish Aquatic(美人鱼) fish.performBreathe()我们发现第二种方式则像是用接口的形式实现了某个行为的类化你可能会想第二种方法的代码实现明显长的多我为什么要用第二种方式。   在今天的这个例子毫无疑问是第一方法简单那我们先来看看用单一职责原则的目的吧 目的可以降低类的复杂度一个类只负责一项职责其逻辑肯定要比负责多项职责简单的多提高类的可读性提高程序的可维护性变更引起的风险降低变更是必然的如果单一职责原则遵守的好当修改一个功能时可以显著降低对其他功能的影响单一职责原则同时也适用于模块化的程序设计  好所以单一职责的核心无非就是降低复杂度和提高可读性以及可扩展性假如你把要动物的种类细化再细化按照第一种方法--你是不是要在派生类重写多个呼吸方法但是动物的呼吸方式无非就是这几种所以第二种方法更适合复杂的场合所以每种方法因场景而异自己把握                                  欢迎大家对我的博客内容提出质疑和提问谢谢                                                                                笔者拍省先生 转载于:https://www.cnblogs.com/xinsiwei18/p/5699599.html
http://www.ihoyoo.com/news/91771.html

相关文章:

  • 论网站建设的重要性织梦网站定时
  • php红酒网站建设效果图网址
  • 东莞手机网站建设入门重庆网站推广入口
  • 有些电影网站是怎么做的十大黄金软件免费下载
  • 上海建站模板系统石家庄网站建设解决方案
  • 专业的做网站的网站内页布局的不同
  • python怎么开发网站海南工程网站建设
  • 欢迎访问陕西省交通建设集团公司网站wordpress相册滑动
  • 普拓网站建设百度助手免费下载
  • 网站商城方案百度灰色词优化排名
  • 免费商品交易网站代码下载网站设计怎么做明信片
  • 网站开发课程设计报告一对一直播交友app开发
  • 制作asp.net网站四川建设网有限责任公司官网
  • 四川省建设网站电子签章制作视频的方法
  • 网站原型图怎么做dede查看网站
  • 网站建设方法氵金手指排名27免费做deal的网站
  • 虚拟技术对网站建设维护的影响大连搜狗推广
  • 网页版qq登陆入口潍坊外贸网站优化
  • 广州市住房建设公租房网站中山专业门户网站制作策划
  • 义乌制作网站要多少钱万网主机建wordpress
  • 东莞网站设计教程wordpress需要安装php模块
  • 网站付费模板个人网站怎么填写
  • 死链接对网站的影响手机网站后台管理
  • 贵阳网站建设三思网络wordpress首页不显示该分类下文章
  • 苏州做网站知识的分享衡阳网建天地
  • 网站后台管理系统后缀网站建设付款银行写什么用途
  • 用c 做网站丹徒做网站
  • 嘉兴网站建设php网站开发小程序
  • 电子商务网站建设指导思想国内网站主机
  • 山东做网站公司深圳关键词首页排名