我有代表部分 HTML 代码的 XML 文件。
这些 XML 文件也有小部件声明。
示例 XML 文件:
<message id="msg">
<p>
<Widget name="foo" type="SomeComplexWidget" attribute="value">
inner text here, sets another attribute or
inserts another widget to the tree if needed...
</Widget>
</p>
</message>
我有一个主要的 Widget 类,我的所有小部件都继承自该类。
问题是我将如何创建它?
这是我的选择:
- 创建一个编译时工具,它将解析 XML 文件并创建必要的代码来将小部件绑定到所需的对象。
- 好处:
- 不会给系统带来额外的运行时开销。
- 绑定设置器很容易。
- 缺点:
- 向构建链添加另一个步骤。
- 很难维护,因为系统中的每个小部件都应该添加到解析器中。
- 使用宏来绑定小部件。
- 复杂的代码
- 好处:
- 找到一种将所有小部件自动注册到工厂的方法。
- 好处:
- 所有的绑定都是完全自动完成的。
- 比选项 1 更容易维护,因为每个新小部件只需要调用注册它的 WidgetFactory 方法。
- 缺点:
- 不知道如何在不引入可维护性噩梦的情况下绑定 setter。
- 增加内存和运行时开销。
- 复杂的代码
- 好处:
你认为什么更好?各位大神能推荐一个更好的解决方案吗?