单一职责原则--SRP
PHP面向对象OOP的5原则:单一职责原则--SRP
一、SRP简介(SRP--Single-Responsibility Principle):
就一个类而言,应该只专注于做一件事和仅有一个引起它变化的原因。PHP开源com
所谓职责,我们可以理解他为功能,就是设计的这个类功能应该只有一个,而不是两个或更多。也可以理解为引用变化的原因,当你发现有两个变化会要求我们修改这个类,那么你就要考虑撤分这个类了。因为职责是变化的一个轴线,当需求变化时,该变化会反映类的职责的变化。
“就像一个人身兼数职,而这些事情相互关联不大,,甚至有冲突,那他就无法很好的解决这些职责,应该分到不同的人身上去做才对。”
二、举例说明:
interface Modem
{
public void dial(string pno);
public void hangup();
public void send(char c);
public void recv();
}
{
public void dial(string pno);
public void hangup();
public void send(char c);
public void recv();
}
如果应用程序变化影响连接函数,那么就需要重构:
interface DataChannel
{
public void send(char c);
public void recv();
}
interface Connection
{
public void dial(string pno);
public void hangup();
}
{
public void send(char c);
public void recv();
}
interface Connection
{
public void dial(string pno);
public void hangup();
}
三、SRP优点:PHP开源com
消除耦合,减小因需求变化引起代码僵化性臭味
四、使用SRP注意点: