c – 如何基于XML代码构造对象?

我有
XML文件代表HTML代码的一部分.

这些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文件并创建必要的代码以将小部件绑定到所需的对象.

>优点:

>没有额外的运行时开销导致系统.
>绑定setter很容易.

>缺点:

>向构建链添加另一个步骤.
>难以维护,因为系统中的每个小部件都应添加到解析器中.
>使用宏来绑定小部件.
>复杂的代码

>找到一种方法,将所有小部件自动注册到工厂.

>优点:

>所有绑定都是完全自动完成的.
>更容易维护然后选项1,因为每个新窗口小部件只需要调用一个注册它的WidgetFactory方法.

>缺点:

>不知道如何在不引入可维护性噩梦的情况下绑定setter.
>添加内存和运行时开销.
>复杂的代码

你觉得哪个更好?你们能提出更好的解决方案吗?

最佳答案 创建工具,将其包含在构建步骤中,一切都会好的.

有关其他详细信息,请参阅我之前回答的评论

点赞