有人可以给我一个单一责任原则的例子吗?我正在努力理解这一点,实际上,一个课堂有一个责任,因为我恐怕我可能每天都违反这个规则.
查看
Solid description.
除非你要求更具体的内容,否则很难帮助更多.
单一责任是一个类的概念,做一个特定的事情(责任),而不是试图做更多的事情,这也被称为高凝聚力.
课堂通常不会以低凝聚力开始,但通常在几个版本和不同的开发人员添加到他们之后,突然间你会注意到它成为一个怪物或者上帝的类,有些人称之为它.所以课程应该重构.
它很难想到一个很好的例子,但我最近可以想到的一个类是我们管理的不同的数据包处理阶段,一种责任链.这个类的初始意图是维护一个阶段列表,并编排调用packetProcess().那么最终,最终,每个人都加入了处理阶段(因为经理类是一个容易的访问阶段的地方)到这个经理类,特别是阶段配置.经理类不再有单一责任,而是负责调用配置更改的阶段:因此,凝聚力已经减少.
我们最终不得不重新组织经理班,把所有的舞台配置,把它放在一个工厂里,让经理去做它想做的事情.