Asp.net mvc 选择应包含操作的控制器

Asp.net mvc 选择应包含操作的控制器,asp.net-mvc,design-patterns,asp.net-mvc-3,controller,Asp.net Mvc,Design Patterns,Asp.net Mvc 3,Controller,我在决定何时创建新控制器以及哪个控制器应该包含某些操作方法时遇到问题 我目前正在建立一个拍卖网站,用户在其中发布物品,其他用户竞拍以赢得拍卖。有一个完整的面板专门用于用户(用户帐户/配置文件)。在此面板中,用户可以查看/编辑他的个人信息、查看他的物品清单、他的出价和他参与的拍卖的状态、查看/添加他用于物品交付/装运目的的地址以及他的个人消息(收件箱) 因此,我自然会认为必须有一个ItemController,UserController,BiddingController(不确定),Addres

我在决定何时创建新控制器以及哪个控制器应该包含某些操作方法时遇到问题

我目前正在建立一个拍卖网站,用户在其中发布物品,其他用户竞拍以赢得拍卖。有一个完整的面板专门用于用户(用户帐户/配置文件)。在此面板中,用户可以查看/编辑他的个人信息、查看他的物品清单、他的出价和他参与的拍卖的状态、查看/添加他用于物品交付/装运目的的地址以及他的个人消息(收件箱)

因此,我自然会认为必须有一个
ItemController
UserController
BiddingController
(不确定),
AddressController
,和
MessageController
,可能还有其他一些控制器。但我如何确定我实际上需要一个控制器,以及如何确定某个动作方法属于哪个控制器?目前,我在
UserController
中有很多东西(因为这些是用户的出价、项目/列表、地址、消息等),但我不太确定


我如何决定创建什么控制器以及何时创建它们?

我个人坚持。因此,一旦确定了资源,就很容易了。

我尝试按概念组织控制器。基本上,我希望控制器上的操作与它最相关。例如,我会考虑查看自己的列表与搜索拍卖或查看单个拍卖相关,而不是编辑自己的配置文件,因为页面的模型将强调拍卖,而不是用户的姓名、声誉等。 在你的情况下,我可能会考虑这样的事情:

AuctionController
    - Search
    - View
    - PlaceBid
    - Create
    - MyListings

ShippingController
    - Payment
    - Location
    - Confirm

AccountController
    - Profile
    - EditProfile
    - OrderStatus
    - Inbox

FeedbackController
    - View (for a specific user)
    - Leave (for giving feedback)

AuthenticationController
    - Login

我喜欢这样。所以,如果我说得对的话,上面提到的所有这些都应该被带到各自的控制器。