单一职责原则(Single Responsibility Principle)
发布时间:2020-12-14 01:19:29 所属栏目:百科 来源:网络整理
导读:单一职责原则(Single Responsibility Principle) flyfish 原文地址 动机 在此背景中,一个职责是考虑因一个原因而改变,如果一个类,改变它有两个原因。我们应该根据功能性分成两个类。每 个类处理一个职责 在未来当我们需要做出某种改变时,只需要修改该
单一职责原则(Single Responsibility Principle) flyfish 原文地址 动机 个类处理一个职责 影响该类的相关职责的其他功能 单一职责是简单直观的原则,但是在实践中有时很难做到 目的 示例 该示例更改为C++编写 的协议。 // single responsibility principle - bad example
class IEmail
{
public:
virtual void setSender(string sender);
virtual void setReceiver(string receiver);
virtual void setContent(string content);
};
class Email :public IEmail
{
public:
void setSender(string sender) {}// set sender;
void setReceiver(string receiver) {}// set receiver;
void setContent(string content) {}// set content;
};
//改进结果 // single responsibility principle - good example
class IEmail
{
public:
virtual void setSender(string sender);
virtual void setReceiver(string receiver);
virtual void setContent(string content);
};
class IContent
{
};
class ContentA :public IContent //
{
public:
string getAsString(); // used for serialization
};
class ContentB :public IContent //
{
public:
string getAsString(); // other format like html
};
class Email :public IEmail
{
public:
void setSender(string sender) {}// set sender;
void setReceiver(string receiver) {}// set receiver;
void setContent(IContent content) {}// set content;
};
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |