oop – 单一责任原则的例子是什么?

有人能给我一个单一责任原则的例子吗?我试图理解,在实践中,一个班级有一个单一的责任,因为我担心我可能每天都违反这条规则.

解决方法

查看 Solid description.

除非你要求更具体的东西,否则很难提供更多帮助.

单一责任是一个阶级做一个特定事物(责任)而不是试图做更多事情的概念,这也被称为高凝聚力.

类通常不会以低内聚开始,但通常在几个版本和不同的开发人员加入它们之后,突然你会注意到它变成了一个怪物或神级,就像有些人所说的那样.所以课程应该重构.

很难想到一个很好的例子,但我最近能想到的是一个管理不同数据包处理阶段的类,一种责任链.这个类的初衷是维护一个阶段列表并协调调用它们的packetProcess().好吧,它最终表明每个人都在处理阶段(因为经理类是访问阶段的一个容易的地方)添加了与此经理类相关的任何内容,尤其是阶段配置.经理类不再具有单一责任,而是负责调用阶段以进行配置更改:因此Cohesion已经减少.

我们最终不得不重构经理类,删除所有阶段配置并将其放入工厂,从而让经理去做它想要做的事情.

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...