日期:2014-05-20  浏览次数:20886 次

急求助!有关扩展性的一到题目,忘高手进来解答
一个Winfrom应用程序,无数据库。案例:一家动物园的项目,假设起初有5种动物,页面有个列表列出所有动物,每一种动物必需是一个单独的实体(Model),每个实体都有一个Display()的方法用于显示动物信息。在列表中点击该动物触发Display()方法来显示每种动物的不同信息。
要求:为考虑扩展性,在不允许重新编译项目的前提下,我可以随意增加动物种类。

这道题该如何实现,希望大家帮帮我,说的详细一些,是用 抽象类,接口,还是工厂,具体怎么去实现呢?在线等答。
扩展

------解决方案--------------------
我刚根据你的需求给你做了一个,留下邮箱,我传给你
------解决方案--------------------
.net是动态语言,意思是你可以在运行期修改代码,了解一下反射。

不过你的需求貌似用不着,因为没必要修改模型么,就是几个属性赋一下值。
------解决方案--------------------
592158189@qq.com ?
已发
------解决方案--------------------
我给你的项目你看了吗?
1,有数据库吗?没有吧
2,是不是没个动物都有一个实体类? 有吧
3,你添加新动物需要重新编译exe吗?不需要吧
------解决方案--------------------
如果你想动态增加动物的属性,比方说一开始5个动物只有3个属性,你后来又想增加一个属性(如:习性),这样你在不重新编译exe的情况下,就需要利用反射技术

------解决方案--------------------
好吧,我终于明白了,你新增一种动物就新增一个实体类是吧,那你要用 反射和抽象类
抽象类里定义Display虚方法,实体类继承抽象类并重写Display

主程序遍历你的类文件,动态反射出实体类的各个属性并显示出来
------解决方案--------------------
再收下邮件,试试