0

我一直在阅读有关“胖控制器”的文章,但那里的大多数文章都侧重于将服务/存储库层逻辑从控制器中拉出来。但是,我遇到了不同的情况,想知道是否有人有任何改进的想法。

我有一个操作太多的控制器,我想知道如何将其分解为多个操作更少的控制器。所有这些操作都负责插入/更新/删除都属于同一聚合的对象。所以我并不热衷于为属于这个聚合的每个类拥有一个单独的控制器......

为了提供更多详细信息,此控制器用于选项卡式页面。每个选项卡代表要编辑的数据的一部分,这里使用的所有域模型对象都属于同一个聚合。

有什么建议吗?

干杯,莫什

4

2 回答 2

0

对于所有选项卡,您可以使用一个操作,该操作具有选项卡参数,指示您需要返回哪些数据。

控制器的工作是将此string选项卡转换为enum类型变量。然后标签将被发送到存储库,存储库的工作是返回数据以响应标签值。

控制器应该通过服务完成其工作:输入验证器和映射器。

映射器服务的工作是将用户输入(通常是字符串)映射到实际的类型值(int、System.DateTime、枚举类型等)。

验证器的工作是检查输入是否有效。

遵循这个原则应该让你的控制器非常小。

于 2010-03-12T05:50:50.713 回答
0

如果您想要一些简单易行的东西,我建议您根据选项卡将控制器拆分为部分类。当然,它仍然是一个胖控制器,只是各种选项卡功能之间存在一些明显的区别。

于 2010-03-12T16:46:27.410 回答