Jak*_*zyk 5 oop design-patterns
我有以下情况.用户可以将多种对象类型(交易,发票等)导出到外部会计系统.导出算法有步骤:
所有对象类型的算法都相同,但必须处理一些重要的差异:
我考虑了一些解决方案:
问题:
是否为每个对象创建一个单独的导出算法类型代码重复?
也许所有这些都应该被视为单独的用例?
如果它是重复的,那么我应该考虑哪些技术来避免它?
我的第一次实施说明:
在第一种方法中,我定义了一个可导出的抽象,但我对它并不满意.每个对象的有效负载完全不同.一个Exportable接口只定义了一个方法getId,它用于注册该对象被导出(并且由于它不会再次导出).为此目的,抽象很好,但问题转移到了exportService,它必须检查具体实例以选择DTO映射器和端点.所以exportService打破了SOLID.
您上面描述的所有内容都不是特定于域的逻辑(事实上您甚至没有在问题中提及问题域),因此我认为它并不真正属于域驱动设计。因为它不是特定于域的逻辑,所以我不会太担心代码重复,特别是考虑到解决方案似乎并不明显。
保持简单,只需分别写出每个用例即可。如果您发现有很容易重构的通用代码,请在一切顺利之后再进行重构。在显然有必要之前,不要想太多或添加模式。
| 归档时间: |
|
| 查看次数: |
145 次 |
| 最近记录: |