2

假设我在数据库中有一个人表。每当一个新人被添加到数据库中时,都会生成一个 pdf 文件并通过电子邮件发送给某人。

这个逻辑是否进入模型,所以应用程序所做的只是传递数据以插入新的人,模型还处理 pdf 和电子邮件?

或者这个逻辑是否进入控制器?

如果这应该进入模型,并且我正在使用实体框架,我该怎么做?创建一个包装.edmx模型的 .cs 类?

4

1 回答 1

2

据我了解,您不想用这种逻辑搞砸控制器。属于控制器的事情将定义将被传递给视图的模型或打开或关闭验证。控制器应该控制其他几个与视图相关的东西,但这只是几个。我试图提出的一般观点是,控制器负责通过调用服务或模拟存储库来填充模型,然后将这些模型传递给视图。

要执行您所解释的操作,我将添加一个位于数据访问层之上的服务层(dal - 您的 EDMX 和存储库所在的位置)。在该服务层内部,我将调用方法或服务来生成 pdf 并发送电子邮件。

存储库和数据访问层应该只关心查询数据库和检索记录。这与您使用什么 ORM 或数据访问工具无关。检索到的记录被传递到服务层,您可以在其中对数据执行操作(例如验证或发送 pdf),然后表示层返回它需要在视图中显示的任何格式的记录。控制器不对检索到的数据执行任何逻辑操作,而是将其交给视图。

如果您想了解有关我所描述的架构布局的更多详细信息,那么我很乐意为您提供更深入的了解。

于 2012-06-27T19:06:31.403 回答