【发布时间】:2010-11-24 15:43:07
【问题描述】:
我正在想办法在这里做什么。我在两个不同的 3rd 方应用程序中有客户数据,我需要在进行更改之前将它们组织成一些合理的数据结构。我目前有两个客户子类,每个 3rd 方应用程序一个。
Public MustInherit Class Customer
Public ID as String
Public Name as String
Public.... more shared members here
End Class
Public Class Application1Customer
Inherits Customer
Public Application1SpecificData....
End Class
Public Class Application2Customer
Inherits Customer
Public Application2SpeceficData.....
End Class
我需要将 Customer1 的所有实例映射到它们各自的 Customer2。我有一个算法,它具有给定 Customer1 实例的逻辑,并且 Customer2s 列表找到适当的匹配项。
这是我寻找设计理念的地方...客户并不是两个应用程序之间唯一匹配的数据。我还有两个 Item 类、两个 Payment 类、两个 Invoice 类等。这些类中的每一个都有自己的算法来匹配实例……我想最大化可重用代码的数量。
问题:
什么是匹配部分的好设计模式?
我将匹配的对象对存储在什么数据结构中?
我现在的想法:
-
这些子类实现了某种匹配接口。这个接口包含一个看起来像这样的方法:
Public Function matchToApp(Collection Matchable) As Matchable
一种具有两个属性的新对象类型,一个用于每个应用程序的可匹配...
我确信有一些更有创意的方法可以做到这一点。有什么建议吗?
谢谢
【问题讨论】: