我有两个问题:
Q1。“业务逻辑”到底在 MVC 模式中的什么位置?我对模型和控制器感到困惑。
Q2。“业务逻辑”和“业务规则”一样吗?如果不是,有什么区别?
如果你能用一个小例子来解释,那就太好了。
业务规则进入模型。
假设您正在显示邮件列表的电子邮件。用户单击其中一封电子邮件旁边的“删除”按钮,控制器通知模型删除条目 N,然后通知视图模型已更改。
也许管理员的电子邮件永远不应该从列表中删除。这是一个商业规则,知识属于模型。视图最终可能会以某种方式 表示 该规则——也许模型公开了作为业务规则函数的“IsDeletable”属性,因此视图中的删除按钮对于某些条目被禁用——但不包含规则本身在视图中。
该模型最终是您数据的看门人。您应该能够在完全不接触 UI 的情况下测试您的业务逻辑。