本文共 1086 字,大约阅读时间需要 3 分钟。
单一职责:一个类只能有一个职责,这个职责应当是明确且完整的。换句话说,一个类只能执行单一任务,并且具备执行这项任务所需的所有功能。
下面以一个实际的例子来说明单一职责的重要性。
CmdFactory 类:
mCmdString
:保存命令字符串mCmdSplit
:命令拆分器mCmdTypeAnalyze
:命令类型分析器mCmdParaAnalyze
:命令参数分析器mCmdPathAnalyze
:命令路径分析器主要方法:
GetCmdSplit()
GetCmdTypeAnalyze()
GetCmdParaAnalyze()
GetCmdPathAnalyze()
CreateCmd(Cmd cmd, CmdPara cmdPara, ...)
: 创建并返回新命令实例这个工厂类的设计清晰明了,所有与命令创建相关的功能都集中在这里,没有其他额外功能。
下面来看一个职责不明确的例子。
CmdPathAnalyze 类:
arters:
问题:这个类的方法涵盖了路径分析的所有功能,但它却嵌入到CmdBase
类中,导致CmdBase
的职责膨胀。这样看来,CmdBase
不应该包含路径分析的逻辑,因为这应该由专门的分析器负责。
一个类的设计应当遵循"单一职责"原则,这样才能确保:
在项目刚起步时,许多开发者难免遇到功能过多的类。这通常发生在设计阶段不够细致时。好的实践包括:
职责单一的原则指导了我们如何设计高效代码。当一个类的职责明确时,它的功能也会更加稳定和易于维护。相反,在职责不明确的情况下,类可能会变得臃肿,不容易维护。
在实际开发中,我们应当通过细致的需求分析,找到每个模块的核心职责,再将这些职责分配给不同的类或模块。这样实现的效果,就是一个干净、有责任分工的代码库。
转载地址:http://hccxz.baihongyu.com/