在以下示例中对单一责任原则感到困惑

Xai*_*oft 6 .net oop single-responsibility-principle solid-principles

在下面的视频中,作者采用现有的类并为其分配单一责任原则.他选择了一个打印类,它具有访问数据,格式化和打印报告的功能.他将每个方法分解为自己的类,因此他创建了一个DataAccess类来处理数据访问,他创建了一个ReportFormatter类来处理Report的格式,并创建了一个ReportPrinter类来处理Report的打印.然后,原始的Report类保留一个方法Print(),该方法调用ReportPrinter的类方法Print.DataAccess和ReportFormatter似乎有责任,但ReportPrinter依赖于DataAcess和ReportFormatter,所以这不会破坏SRP或者我是否误解了它?

Bra*_*lor 3

单一职责原则表明给定的类应该具有单一职责(或“更改原因”)。它本身并不表明如何履行该责任。这样做可能而且经常需要多个其他类作为协作者进行合作。