黑马程序员技术交流社区
标题: 【黑马程序员济南】浅谈设计模式-单一职责模式 [打印本页]
作者: 小鲁哥哥 时间: 2017-12-21 10:47
标题: 【黑马程序员济南】浅谈设计模式-单一职责模式
【黑马程序员济南】单一职责模式
今天和大家聊一聊单一职责模式,大家从名字应该就能想到这个设计模式的核心思想就是降低耦合性,强调一个类/整体只做一件事。今天就不给大家代码举例子了,因为这个会很好理解,你只要写一个类,强调一个方法,方法只实现一种功能举行啦!
单一职责模式:就一个类而言,应该仅有一个引起它变化的原因。
有的同学会问,一个类如果只是有且仅有一个因素来引起他的变化,岂不是我们的程序的代码会非常臃肿?这个情况我们要视情况而定,其实在生活中也是,我们如果做到一件事情的专精,那就要舍弃一些其他方面的功能。例如我们的手机可以照相,但是他的专业程度不如数码摄像机,再比如我们的交通工具,汽车负责马路,轮船负责大海,飞机负责天空一样,我们要做到一件事情让他专精一个功能。
在一些特定的情况下,一个类我们只让他承担一个特定的职责,如果一个类承担的职责过多,就等于把这些职责耦合在一起,这是我们编程思想中所忌讳的,程序员一直都再致力于使我们的代码简洁化,我们常说的就是让代码高内聚低耦合,降低代码的耦合性,这样我们在如果对代码中的一个功能模块进行修改时,我们只需要修改特定功能的类即可,从而不会影响其他功能的代码。如果我们提高功能代码的耦合性,那我们设计的代码就会非常脆弱,当一个功能代码发生变化时,我们的代码设计就会招到破坏,影响是非常大的。
我们在实际开发中,会发现软件的功能是非常多的,我们不能盲目的去分离代码和职能,我们一定要去判断这些功能是否需要分离,我们的分离原则就是相同功能的类我们提取使用工厂和策略模式,如果功能不同我们可以让这个类职责单一化,即分离出来。
还有一个就是如果这个类有很多的动机或者因素来改变它,我们就需要考虑分离它,使它的功能单一化。
今天的单一职责模式不太好写代码或者太容易写出代码,我们要根据我们的项目区思考,什么时候会去用到它,什么时候是不需要分离类的。作为一个程序员,我们一定要加入自己的思考,而不只是作为一个代码的搬运工。
如果你想了解更多黑马课程,如果你想加入黑马这个大家庭学习先进技术,光交天下好友,那就快来吧!
黑马程序员济南中心联系电话:0531-55696830
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |