重写NHFrog一:Frog对象的XML序列化

近来比较有空,想重写NHFrog。一来原架构只考虑了类型的增加;二来后期的修改累计很多,架构已变得很不便利;三是向项目添加、修改源代码还是在用似乎很笨的方法,而这部分之前考虑的解耦很不到位。

看看在用的生成器主界面

左侧的编辑的各类对象,现在有实体、分组、枚举三大类对象。

原来想不这个估计不会再有其他了,可后期又陆续增加了基础实体、接口型基础实体。所以这次打算也让他允许扩展。右侧是编辑器,每种类型都有自己的编辑器。当然基础实体、接口型实体与实体都统一用一个编辑器。

编辑器明显能用MVC去架构。左侧则要想想,因为左侧的数据都是以XML字符的形式保存起来的。原来不考虑扩展,可以这样来定义

Code

这就是第一个问题:动态子类XML序列化问题。现在版本已是第四版,XML格式也有三个版本了。要定义的一个读取器,处理三个不同的XML格式,策略模式应该适用。

第二个问题:增加对象改动的事件。可以利用观察者模式,方便那些需要知道对象资料已被增加、修改、删除。

posted @ 2009-11-16 15:02  生命体验之kevin-Y  阅读(233)  评论(0编辑  收藏  举报