我的ASP.NET MVC应用中的控制器开始因为业务逻辑而变得有点臃肿。web上的示例都显示了简单的控制器操作,这些操作只是将数据从存储库中拉出并将其传递给视图。但是,如果您还需要在此基础上支持业务逻辑呢?
例如,执行订单的操作还需要发送一封电子邮件。我是否将其粘贴到控制器中,并将此逻辑复制/粘贴到也满足订单的任何其他操作?我的第一个直觉是创建一个像OrderFulfillerService这样的服务,它负责处理所有这些逻辑,并让控制器操作调用这些逻辑。但是,对于简单的操作,如从数据库中检索用户或订单列表,我希望直接与存储库交互,而不是将调用包装在服务中。
这是一个可接受的设计模式吗?控制器操作在需要业务逻辑和存储库时调用服务,而只需要数据访问?
https://stackoverflow.com/questions/338816
复制相似问题