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