对于一个相当简单的问题,我正在努力使用两种不同的设计方法。
我有一项服务(在一般意义上,不是 Web/SOAP 等):
- 接班
Input
_ - 用于
Input
处理和创建Output
本质上只是数据的类,所有这些都依赖于输入数据。
两种不同的设计方法如下:
- 使用一个
OutputCreator
知道如何创建和填充的类,Output
并将其保留Output
为基本的 POCO。拥有所有的OutputCreator
处理逻辑,Output
非常简单,不能被滥用。 - 或者,将
Input
直接传递给特定类型的Output
类。每种类型都Output
知道如何处理Input
,因此它也支持行为。关键Output
数据将由每种不同类型Output
将实现的接口定义。
第一种方法意味着我可以将所有处理逻辑置于我的服务内部。第二个意味着我不需要Creator
封装了该逻辑的类,但我可能会暴露更多(加上它可能违反 SRP)。
哪种方法更接近最佳实践?
谢谢