【发布时间】:2010-12-21 02:54:39
【问题描述】:
以下是场景。
我有一个叫做Domain 的东西,其中可以有多个States(Statekey-Statevalue 对)。 同一个 StateKey 可以存在于多个域中,但具有不同的 StateValue。
例如名为“EconomicCapital”的 StateKey 可能出现在“England”、“America”等域中,其值分别为“London”、“Washington”。
与这些对应的类在公共库中,可以根据需要在客户端或服务端使用。
我有一个可以选择特定域的 winform 应用程序。在任何字符串中,无论我遇到任何 StateKey,我都希望将其替换为所选域的 StateValue。
我能想到以下设计:
- 建立组合关系。域可以由国家组成。因此,当我想要任何 StateKey 的 StateValue 时,我可以获取所需域的对象,并可以从其中组成的 States 集合中提取 StateKey。
但是可能会有大量使用 StateKey 的实例,我认为这种方法不是很好,因为它需要从域集合中查找 Domain 对象并遍历其 State 集合以找到特定的键。
或
- 维护一个静态集合,可以保存不同域中的所有 StateKey。当我想要特定的 StateKey 时,我可以简单地在这个集合中查找。
您能告诉我哪种方法更合适吗?会有其他方法/设计吗?
(如果逻辑是在服务端实现的;不是只有一个winform应用程序,而是许多这样的应用程序都可以访问它。)
【问题讨论】:
-
你应该选择一个更好的问题标题。当前的没有说明您的问题。
-
@Diego:我同意你的看法。但是我的问题太长了,以至于我无法形成一个单行标题来简要说明我在寻找什么。
标签: c# design-patterns