我理解MVC就是把事情放在正确的位置和逻辑应该是什么.我的控制器操作充满了业务逻辑(与数据存储无关),我觉得我应该开始将一些逻辑移到另一个地方.
是否存在我应该放置这种逻辑的约定?例如,我有以下控制器位于控制器文件中:
adminPowerController
public ActionResult Create(string test1)
// business logic
// business logic
// business logic
return View();
}
public ActionResult Index(string test1)
// business logic
// business logic
// business logic
return View();
}
Run Code Online (Sandbox Code Playgroud) 我知道存储库模式上已有很多线程但不知何故我觉得我的问题有点不同.也许是因为昨天我第一次听说POCO这个词.
我的问题是 - 通常,我在我的业务实体中添加和保存方法.假设我正在写一个Q/A网站,我有以下实体:问题,答案和评论.如果我想使用存储库模式,我基本上只需要保留业务实体中的属性(例如,问题),并将我的操作移动到存储库类(例如,QuestionRepository),对吧?如果这是真的,那么POCO是指具有属性的商业实体吗?
我正在使用Entity Framework 4.0,后者在edmx代码中创建了我的实体.如果我想使用存储库模式,那么就不需要编写我自己的业务实体(问题,答案等),因为它们已经由EF生成了,对吧?我只需要存储库来做CRUD吗?我将为这个例子提供三个存储库,每个实体一个存储库?
我没有MVC应用程序,"M"包括服务和存储库层.
但是,我对于在哪里以及如何做一些事情感到有点困惑.
例如
我有一个ReferenceDataService,它使用我的引用表处理CRUD的所有逻辑.
然后在我的"CustomerService"中,我需要'R'我的参考数据来获得例如描述而不是Id.那么,我应该调用ReferenceDataService还是ReferenceDataRepository?
我是在服务层或控制器中执行此操作吗?
例如,我的ServiceLayer是否执行从VM到实体的映射/逻辑并返回?
谢谢:)