我认为在使用MVC或MVP设计模式时,业务逻辑应存在于模型中,但应隐藏在面向服务的体系结构中的服务之后.
软件系统可以在面向服务的体系结构中使用MVC或MVP设计模式吗?如果是这样,模特在哪里?
那么他们是完全不同的动物.MVC是关于数据的呈现,控制用户对话的导航以及构建数据模型的一些业务逻辑.
SOA是关于从服务提供者检索数据.
在客户端,您可以在MVC模式的Model部分中使用SOA,以使用来自SOA服务的数据构建模型.
在服务方面,由于没有演示文稿而没有用户对话框,大多数MVC模式变得多余.此外,良好的SOA设计应该集中于提供有用的服务,而不管底层数据存储,因此"模型"部分变得很偶然.
确实,许多服务是"有状态的"(例如,订单经过验证,支付,调度然后接收),但这些状态是业务逻辑的组成部分,并且不适合MVC模式的典型会话管理.