我创建了一个.NET winforms MVC.Controller和View属于同一个EXE.模型位于一组由几个组使用的DLL中.MVC非常明确.模型对控制器一无所知,控制器对View一无所知.我正在考虑将Controller放在自己的DLL中,以便它可以进行单元测试.非常不像有人会重用控制器.单元测试是我进入DLL 的唯一原因.
从概念上讲,控制器是否应始终与视图位于同一个程序集中?是什么原因/反对将它们保持在一起?
控制器和视图的分离是一个抽象概念.没有严格的规则,您应该将它们分开(就像三层应用程序中的层).然而,两种方法都可能有一些优点.
分离组件具有以下优点:
减少意外地将视图耦合到控制器并破坏分离的可能性.
无需重新编译控制器即可轻松编辑视图(从部署角度来看,这非常棒).
构建视图和控制器变得分离,因此您可以测试其中一个,即使另一个根本不构建.
但是,小型项目可能不可行.对于非常小的项目,您可能希望发送单个可执行文件,而不是其他任何内容.此外,您可能不想创建3个单独的项目.
嘿,你可能根本不想对它进行单元测试;)哎呀,我的脑袋受伤了,这块大砖从哪里来?:))