以下是该方案。
我有一个叫Domain
的东西,里面可以有多个States
(Statekey-Statevalue对)。 相同的StateKey可以存在于多个域中但具有不同的StateValue。
e.g。名为'EconomicCapital'的StateKey可能会出现在像'England','America'这样的域名中,分别是'London','Washington'。
与这些相对应的类在公共库中,可以根据需要在客户端或服务端使用。
我有一个winform应用程序,我可以在其中选择一个特定的域。在任何字符串中,无论我遇到任何StateKey,我都希望将其替换为所选域的StateValue。
我可以想到以下设计:
但是可能会有大量使用StateKey的实例,我不认为这种方法非常好,它需要从域集合中查找Domain对象并迭代其State集合以查找特定键。
OR
您能否告诉我哪种方法更合适?会不会有其他方法/设计?
(如果逻辑是在服务端实现的;不只是一个winform应用程序,但许多此类应用程序可以访问它。)
答案 0 :(得分:3)
像
这样的东西Dictionary<domain, Dictionary<statekey, statevalue>()
然后,您可以从域中找到键值对,并从中获取值....或者我在您的问题中遗漏了哪些内容?
答案 1 :(得分:0)
这只是一个“思想项目”/作业吗?域&gt;状态&gt; StateValue关系必须做才能成为一个类并使用设计模式。这似乎只是一组查找操作。您可能更善于使用LINQ或数据库。