我们正在开发一个基于C#编写并使用NHibernate将对象映射到数据库的医院信息系统。使用MVC模式将业务逻辑与UI分离。问题在于:
你如何将大小可变的不同字符串集合传输到UI?
例如,一个联系人
对象有一个名为城市
的属性,它保存联系人居住的城市。在应用程序所写的国家中有80个以上的城市。您如何将这些城市写入组合框(或数据网格、表格等)?在这个例子中,城市数量是固定的。很长时间内不需要添加另一个城市。(如果城市列表发生变化,重新编译不是问题)
例如,一个联系人
对象有另一个名为FooBar
的属性,它将包含1000个不同的字符串值,并且这些值将从一个组合框中选择。如果用户需要,这个集合可以继续增长。如何加载这些值到组合框中?(如果字符串列表静态地写入组合框对象,重新编译就成为了一个问题)
我有以下不同的解决方案。
- All string values statically written to combo box in code or designer
- Get the values from a resource file
- Write those values to an XML file (Actually same as above, but no need to recompile)
- Make a
City
object and get the values into a list fromCITY
table with NHibernate - Make a class named
StringHolder
which has aType
andValue
property. All string values(includingCity
andFooBar
) would be written in just one table namedSTRINGHOLDER
. And get those values with a key like "CITY" or "FOOBAR" with NHibernate.
你会选择哪一个?或者你能给我推荐另一个吗?
谢谢大家 (xièxiè dàjiā)