逻辑和UI的分离

时间:2009-10-18 13:01:29

标签: schema

我知道我应该将我的业务逻辑和用户界面分开,但我不知道我现在做的是否违反了这条规则。

我正在设计我的财务计划的表格结构。我在查看某些部件时遇到了一些麻烦,所以我嘲笑了一些屏幕,以帮助我理清所有需要的东西以及它们如何组合在一起。我真的认为它有所帮助,而且我相信我的架构是可靠的,但我开始想知道是否我自欺欺人地认为使用模拟屏幕提供帮助是可以的,因为它确实伤害了我。

使用模拟屏幕我是否自动出错了?

或者有人可以解释潜在的陷阱,以便我可以确保我不会走错路?

感谢。

3 个答案:

答案 0 :(得分:2)

这些是正交问题:模型有助于设计阶段(除其他事项外),而Business-Logic / UI分离是一种架构原则。

答案 1 :(得分:1)

模拟进出自己不会伤害或帮助UI /业务逻辑分离。 实现它们的方式可能 - 更具体地说,如果您的业务逻辑包含任何代码以直接显示模型,您可能会处于不稳定的状态。

您的UI是否与业务逻辑完全分离的最佳测试是尝试设想您需要重新编写代码以支持完全不同的显示模型(例如,在终端上打印文本而不是GUI,或者做本机GUI与Web前端。这样的更改是否需要对业务逻辑代码进行重大更改?如果是这样,您可能希望将更多内容分开。

答案 2 :(得分:1)

这是两件不同的事情。如果您正在使用模型来更好地了解应用程序的运行情况,或者设计表结构,那很好。您只是计划应用程序的运行方式。

但是,如果您采用模型并开始在其中放置除了显示数据之外的代码...例如,添加SQL语句来检索信息,或者添加任意数量的语句来更改数据,那么您正在将逻辑与视图或UI混合。除此之外,这使得您的整体代码难以维护。

如果您对更详细的技术说明感兴趣,请阅读以下文章: http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf