Design patterns 在MV*模式中,模型是什么?

Design patterns 在MV*模式中,模型是什么?,design-patterns,model-view-controller,mvvm,model,Design Patterns,Model View Controller,Mvvm,Model,在MV*模式中,代表“M”的模型到底是什么? 是POCO吗?或者它是一个包含所有庞大且可重用的业务逻辑的类 我在网上读了很多书,但是这些术语真的很让人困惑。 有人说模型应该是庞大的,它指向整个可重用的业务逻辑。 有人说是您的数据模型指向POCO,POCO是表及其字段的副本 如果它是POCO,那么它将如何庞大?您的业务逻辑将走向何方 我已经在我的模型不是POCO的两个项目中实现了MVC;它包含可重用的业务逻辑。我希望我做得对。根据MV*的定义,Model负责处理业务逻辑和管理数据。根据开发人员的经

在MV*模式中,代表“M”的模型到底是什么? 是POCO吗?或者它是一个包含所有庞大且可重用的业务逻辑的类

我在网上读了很多书,但是这些术语真的很让人困惑。 有人说模型应该是庞大的,它指向整个可重用的业务逻辑。 有人说是您的数据模型指向POCO,POCO是表及其字段的副本

如果它是POCO,那么它将如何庞大?您的业务逻辑将走向何方


我已经在我的模型不是POCO的两个项目中实现了MVC;它包含可重用的业务逻辑。我希望我做得对。

根据MV*的定义,Model负责处理业务逻辑和管理数据。根据开发人员的经验,模型可以以不同的形式存在。例如:服务+POCO或服务+域模型+策略或其他。一些开发人员更喜欢将所有业务逻辑放在服务中,遵循贫乏的域模型。其他人则倾向于尽可能地将逻辑保留在域模型中,并且只为涉及多个域模型的逻辑引入服务


我与PHP开发人员进行了一些公开会谈,他们说MVC有两个“变体”:胖控制器瘦模型和胖模型瘦控制器,胖模型瘦控制器执行业务逻辑。但我不认为胖控制器瘦模型实际上是一种变体,因为将业务逻辑放在控制器中会降低业务逻辑的可重用性,并且违反单一责任原则。

该模型可以以不同的形式存在。例如:服务+POCO或服务+域模型+策略,或者这就消除了我的大部分疑虑。那么我可以说我的模型由BL+POCO组成吗?是的,尽管将业务逻辑与(当时是贫乏的)域模型分离被认为是一种反模式(糟糕的做法)。服务应该只包含事务性代码,而不是整个业务逻辑。