XML 与硬编码接口?

Posted

技术标签:

【中文标题】XML 与硬编码接口?【英文标题】:XML vs Hardcoded interface? 【发布时间】:2009-08-07 14:34:06 【问题描述】:

我正在开发一个灵活的 GUI 应用程序,它可以有大约 12 种不同的布局。这些布局都是明确定义的,不会改变。每个布局由多个小部件组成,这些小部件使用位模式与 DLL 交互。虽然大多数小部件是相同的,但使用的位模式会因所呈现的界面类型而异。

我的直觉是使用继承:定义一个通用的“面板”并为不同的配置设置子类。但是,接口的某些部分是用户定义的,并且指定在 XML 文件中指定。

应该用 XML 定义整个面板,还是只定义用户配置的部分?

【问题讨论】:

【参考方案1】:

YAGNI:根据您明确表示不会改变的当前要求设计您的屏幕。如果一年后需要更多的定制,那就让它变得更可定制当时,而不是现在。

KISS:如果使用 XML 导致整体代码更少并且比子类化更简单,请使用 XML。如果子类化导致代码更少,请使用子类化。经验告诉我,子类化更简单。

【讨论】:

【参考方案2】:

我的感觉是,您应该做任何可以让您在未来改变主意、添加新功能或调整布局的事情。

【讨论】:

危险建议。用将来时进行编程,是的,但总是更喜欢灵活性会造成维护噩梦,没有任何实际好处。

以上是关于XML 与硬编码接口?的主要内容,如果未能解决你的问题,请参考以下文章

与硬编码输入相比,使用 fgets 从用户获取密钥时无法打印密钥流

GCP:与硬编码值相比,从数组中选择查询具有非常大的流程数据要运行

如何读取具有动态名称的文件,同时避免在 R 中进行硬编码?

iOS硬编解码相关知识

如何帮助编译器消除循环和数组?

Android视频播放软解与硬解的区别