我遇到了一个问题,我需要针对对象“客户”生成基于 Word 的报告。
我通常通过将 Customer 传递给一个知道如何创建 Word 文档、插入书签等的类来做到这一点。
问题在于,我发现自己将用于检索和格式化有关 Customer 对象的信息的逻辑放在此类中。
我知道这很糟糕,违反了单一责任原则。
我想创建另一个像“CustomerReportInfo”这样的类,它接受一个自定义并具有有关格式化和检索数据的所有逻辑,这样,Word 生成类很小,并且两者可以相互改变而不管彼此。
我只是想知道这个类应该叫什么?我浏览了一系列模式,但我真的看不出任何符合描述的东西。这听起来不像是一种策略或代理……听起来像 DTO,但 DTO 通常是没有功能的愚蠢类,不是吗?
关于这类似于哪种模式的任何想法?