单一职责原则(SRP - Single Responsibility Principle)

就一个类而言,应该仅有一个引起它变化的原因。

举例说明:

违反SRP原则代码:
modem接口明显具有两个职责:连接管理和数据通讯;
interface Modem
{
public void dial(string pno);
public void hangup();
public void send(char c);
public void recv();
}

这个接口有2个职责,负责连接管理(dial、hangup),和负责数据传输(send、recv)。

当一个类有多个职责时,
一是增加了类本身的复杂度。
二是当一个职责变化时,会使调用另外一个职责的类的重新编译链接(耦合)。

但也不是绝对说,上面的例子就是要分成2个类。
很多系统相关、硬件相关的开发,因为和细节相关,有时不得不把多个职责耦合在一起。
并且,如果只是其中一个职责经常变化,那我们应该要分离职责,
但是如果2个职责经常一起变化,那就没有必要分离它们了。

具体问题具体分析, 当真正有需求时再去考虑分离。
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值