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

六安网络科技有限公司厦门seo排名

六安网络科技有限公司,厦门seo排名,网牛网站建设,旅游网站系统建设方案单一职责原则(SRP)又称单一功能原则。它规定一个类应该只有一个发生变化的原因。所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原…

        单一职责原则(SRP)又称单一功能原则。它规定一个类应该只有一个发生变化的原因。所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。

目录

一.定义

二.原理

类的单一职责原则

单一职责原则好处

三.实践



一.定义

        每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起——这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。例如:要实现逻辑和界面的分离。

二.原理

        如果一个类承担的职责过多,就等于把这些职责耦合在一起了。一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当发生变化时,设计会遭受到意想不到的破坏。而如果想要避免这种现象的发生,就要尽可能的遵守单一职责原则。此原则的核心就是解耦和增强内聚性。

类的单一职责原则

        一般一个对象可以分为属性行为二部分,所以在类的设计时,我们一般把对象的属性抽象成一个BO(Business Object,业务对象),把对象的行为抽象成一个Biz(Business Logic,业务逻辑)

单一职责原则好处
  • 降低类的复杂性:每个类实现单一职责,并且单一职责都有清楚明确的定义,复杂性当然降低
  • 提高可读性:类的复杂性降低了,当然提高了可读性了。
  • 提高可维护性:类的复杂性降低,可读性好,当然好维护。
  • 提高扩展性:变更引起的风险降低,变更是必不可少的,如果接口的单一职责做的好,一个接口修改只对相应的实现类有影响,对其它的接口没有影响,这对系统的扩展性,维护性都是有好处的。

归纳弱点:

  • 职责多,引起此类变化的原因也多。后续变更的风险就大。
  • 后续需求变更,会造成职责的混乱,类结构的不稳定。

三.实践

举个例子,将一个女孩追到手,有如下两种方式:

方法一

public void ChaseGirl()
{SentLetter();DevelopFeeling();MakeVow();
}public void SentLetter()
{}public void DevelopFeeling()
{}public void MakeVow()
{}

方法二

public void ChaseGirl()
{SentLetterAndDevelopFeeling();MakeVow();
}public void SentLetterAndDevelopFeeling()
{}public void MakeVow()
{}

        不难看出,虽然底层的实现逻辑几乎相同,但是方法二中将送情书and发展感情耦合在了一个类中,违反了单一原则:假设有的女孩对情书不屑一顾,那么就要修改认识的方式——但此时也要修改发展感情的方法~这就是典型的耦合性高的开发~

单一职责原则的重心不在于“一”,而是如何拆分“一”:每个设计师都知道软件应该解耦和分层,但难的是何时分,以及如何分——比如有的人就认为建立契机和发展感情应该是一个统一的过程~ 

因此引出解决的方法:遵守单一职责原则,将不同的职责封装到不同的类或模块中。

类改造:改造后,类的职责单一

原有违背单一职责原则的类如下:

修改后如下:

        这种清晰的职责范围划分就是单一职责原则的最佳实践。符合单一职责原则的设计能使类具备高内聚性,让单个模块变得简单易懂,如此才能增强代码的可读性和可复用性。并提高系统的易维护性和易测试性。

http://www.hkea.cn/news/10281/

相关文章:

  • 网站开发专业就业培训学校seo权重查询
  • phpcms 怎么做网站百度竞价是什么意思?
  • 武汉市优秀历史建筑网站惠州百度seo找谁
  • 速成美站网络推广平台有哪些
  • 如何选择合肥网站建设推广模式包括哪些模式
  • 怎样做分销网站公司快速建站
  • 丽水企业网站建设做教育培训应该注册什么公司
  • 绵阳网站建设多少钱网络营销的主要手段
  • 做暧视频免费网站网络推广怎么做方案
  • jsp做的网站有哪些抚顺seo
  • 高端品牌服装铜陵seo
  • 做网站的如何增加电话量昆明新闻头条最新消息
  • 微网站建设申请百度识图找原图
  • 网站预算怎么创建网站链接
  • 做网站怎样申请域名电商运营公司
  • 怀化三中网站优化关键词排名外包
  • 外国做愛视频网站公司软文怎么写
  • wordpress建站视频郑州粒米seo外包
  • 上海市建设委员会的网站查询系统一站式营销平台
  • 做网站应该注意什么google下载官方版
  • axure做网站原型教程免费二级域名分发网站源码
  • 商城网站建设论坛seo搜索引擎优化报价
  • 网站建设预算策划百度不让访问危险网站怎么办
  • 用discuz怎样做网站三明网站seo
  • .net开发微信网站杭州网站seo推广软件
  • 自动的网站制作最近的疫情情况最新消息
  • 网站的建立与运营站长域名查询工具
  • 公司独立网站平台建设宁波seo外包公司
  • 网站分页怎么做网站开发语言
  • 免费企业网站系统源码下载新闻投稿平台有哪些