说到单一职责原则,很多人都会不屑一顾。因为它太简单了。稍有经验的程序员即使从来没有读过设计模式、从来没有听说过单一职责原则,在设计软件时也会自觉的遵守这一重要原则,因为这是常识。在软件编程中,谁也不希望因为修改了一个功能导致其他的功能发生故障。而避免出现这一问题的方法便是遵循单一职责原则。虽然单一职责原则如此简单,并且被认为是常识,但是即便是经验丰富的程序员写出的程序,也会有违背这一原则的代码存在。为什么会出现这种现象呢?因为有职责扩散。所谓职责扩散,就是因为某种原因,职责P被分化为粒度更细的职责P1和P2。
简单来说,就是一个类不影响类一个类的使用。
class LOGIN
{
public:
void init();
void display();
Connection validate();
bool findUser(char *username,char *userpassword);
};
void LOGIN::init()
{
printf("\n\tlogining...\t\n");
}
void LOGIN::display()
{
printf("---------");
}
bool LOGIN::findUser(char *username,char *userpassword)
{
if(strcmp(username,"ggj")==0&&strcmp(userpassword,"123456")==0)
{
printf("登录成功\n");
return 1;
}
else
return 0;
}
int main(int argc, char* argv[])
{
LOGIN loginer;
loginer.init();
loginer.display();
loginer.findUser("ggj","123456");
return 0;
}