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 从用户获取密钥时无法打印密钥流