倚楼听风雨
淡看江湖路

浅析设计模式第三章之单一职责原则

设计模式在软件应用尤其是互联网应用中随处可见,那些优秀的开源框架大量的使用了设计模式中的思想建立模型,老四依然为设计模式挖坑,今天浅析一下设计模式中涉及到的面向对象基本原则,单一职责原则。一个字:管好自己比啥都强。

定义

单一职责原则(Single Responsibility Principle,简称 SRP):就一个类而言,应该仅有一个引起它变化的原因。或者说一个类应该只负责负责一个功能领域中的相应职责,不要多管闲事。

此原则的目的其实是避免耦合给项目带来的臃肿和复杂度。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当发生变化时,设计会遭到意想不到的破坏。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。当我们程序员发现你要带着多个目的去修改某个类的时候,那这个时候你已经违反了单一职责原则。

假设现在有一个统计网站入口的类,当前类最初设计的时候,此入口类包含 JDBC 的连接、存储访问用户、计算入口访问数量、图表展示四个方法,试想一下,在最初的类设计中,和入口相关的就两个方法,而 JDBC,的连接以及查找用户不应该有入口类来完成,这不仅造成了业务上的耦合性,而且代码难以复用,难道再写一个类的时候你还需要在写一遍 JDBC 的连接吗?

为了更直观的提现单一职责的内容,也考虑到随着系统的不断演进与壮大,很多工程师回不可忽略的「忘了初心」,老四提供一下不成熟的代码示例,请各位指点批评,代码实例与上述举例差不多,按照上述例子书写而得。

耦合设计的带有多职责的入口类:

拆开分成单一职责的网站入口访问统计类:

其余的方法也设计成单一职责原则的类,比如 jdbc 工具类:

项目完整下载地址文末自助下载。

更博不易,如果觉得文章对你有帮助并且有能力的老铁烦请捐赠盒烟钱,点我去赞助。或者扫描文章下面的微信/支付宝二维码打赏任意金额(点击「给你买杜蕾斯」),也可扫描小站放的支付宝领红包二维码,线下支付享受优惠的同时老四也可以获得对应赏金,老四这里抱拳谢谢诸位了。捐赠时请备注姓名或者昵称,因为您的署名会出现在赞赏列表页面,您的捐赠钱财也会被用于小站的服务器运维上面,再次抱拳感谢。

资源下载

隐藏内容:******,购买后可见!

下载价格:0 G币

您需要先后,才能购买资源

欢迎访问高老四博客(glorze.com),本站技术文章代码均为老四亲自编写或者借鉴整合,其余资源多为网络收集,如涉及版权问题请与站长联系。如非特殊说明,本站所有资源解压密码均为:glorze.com。

赞(7) 给你买杜蕾斯
本站原创文章受自媒体平台原创保护,未经允许不得转载高老四博客 » 浅析设计模式第三章之单一职责原则

开始你的表演 抢沙发

觉得文章有用就打赏一下老四,鼓励我更好的创作

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册