单一职责原则解释:就一个类而言,应该只有一个引起它变化的原因。
我跟大家一样不喜欢看教条,教条太抽象不好理解,那我就举个生活中的例子便于大家理解我们知道现在的手机有拍照,打电话,彩信,摄像,听歌等等很多功能,我们出去旅游的时候其实只要带一个手机就好了,坐在车上无聊的时候可以听歌,打游戏,欣赏风景的时候可以拍照,碰到趣人趣事得时候还可以摄像,真是好啊。但是仔细想想,手机听歌有MP4或MP5声效好吗,打游戏有PS效果好吗,拍照有数码相机像素高吗,摄像有SONY摄像机效果好吗,答案是没有,其实有时候一件产品简单一些,职责单一一些或许是更好的选择。
我们有时候在做编程的时候,很自然而然的会给一个类增加这样那样的功能,比如:我们要做一个网站,会给这样一个default.aspx.cs后台文件加入算法的代码,数据库访问的SQL语句,业务逻辑的代码等等都写到这个类文件中,这就意味着,无论任何需求要来,你都需要去动这个类文件,这其实是很糟糕的,维护麻烦,复用根本不可能,更别提灵活性了。假如你又要做一个类似的应用程序,不过它运行的平台是手机,Web界面的程序不能使用,那之前的这个Web应用程序如何移植到手机上以达到复用的效果。
所以至少至少我们可以将程序分为两个类,一个是业务逻辑类,一个是界面表现类,当有一天要改变界面的时候,不过是界面表现类的变化而已,和业务逻辑类无关,以此达到复用的目的。
如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化会限制这个类完成其他职责的能力,这是种脆弱的设计,当需求发生变化时,这种设计就崩溃了。
本文来自博客园博客,转载请标明出处:http://www.cnblogs.com/menglin2010/archive/2011/03/21/1990870.html
分享到:
相关推荐
设计模式6大原则:单一职责原则
Java设计模式中单一职责原则详解.rar
单一职责原则可以使类的复杂度降低,实现什么职责都有清晰明确的定义;类的可读性提高,复杂度降低;可读性提高了,代码就更容易维护;变更(需求是肯定会变)引起的风险(包括测试的难度,以及需要测试的范围)降低...
NULL 博文链接:https://lijie-insist.iteye.com/blog/2190970
在架构中体验设计模式和算法之美 Java设计原则 单一职责原则
设计模式6大原则之单一职责械,SIP,一个类只负责处理一个业务,
详细介绍了设计模式六大原则,配有示例代码和图片,有开闭原则,单一职责原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则等等。
设计模式原则:单一职责原则,里氏替换,依赖倒转,接口隔离,开放关闭等等。
php 设计模式六大原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 word版
例如:随着计算机的不断发展,程序学习这门技术也越来越重要,很多人都开启了...面向对象设计原则一共有七个:开闭原则、里氏替换原则、依赖倒转原则、单一职责原则、接口隔离原则、组合/聚合复用原则、迪米特法则。
主要介绍了Java设计模式编程中的单一职责原则,这在团队开发编写接口时经常使用这样的约定,需要的朋友可以参考下
设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大原则...
详细介绍设计模式的六大原则,有不足之处希望大家多指教。参考《设计模式之禅》
1.单一职责原则: 不要存在多于一个导致类变更的原因 2.里氏替换法则:子类可以扩展父类的功能,但不能改变父类原有的功能 3.依赖倒置原则:面向接口编程 4.接口隔离原则: 客户端不应该依赖它不需要的接口;一个类对...
设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大原则...
第一章设计模式与七大原则笔记,自己看网课写的,需要的关注拿一下吧,23种设计模式,背后其实是七大设计原则,也就是说,每个设计模式都归属于一个或多个设计原则7大设计原则:a单一职责原则 b里氏替换 c依赖倒置...
1.可以确信你从工厂得到的产品彼此是兼容的 2.可以避免具体产品和客户端代码之间的紧密耦合 3.符合单一职责原则 4.符合开闭原则
1、 IOS设计模式的六大设计原则之单一职责原则(SRP,Single Responsibility Principle) 定义 就一个类而言,应该仅有一个引起它变化的原因。 定义解读 这是六大原则中最简单的一种,通俗点说,就是不存在多个...
1.当你不知道改使用对象的确切类型的时候 2.当你希望为库或框架提供扩展其内部组件的方法时 1.将具体产品和创建者解耦 2.符合单一职责原则 3.符合开闭原则