我在发帖之前做了检查,所以如果这是一个副本,我道歉。
我正在研究什么是WinForms应用程序,它是基于MVP模式的分层设计。我已经创建了两个将作为我的表示层开始的汇编项目。
Company.Project.Presentation.Core - 此程序集包含视图和演示者的所有合同/接口
Company.Project.Presentation.WinForms - 此程序集包含视图和演示者的具体实现。
我认为这样做的主要原因是,如果我们决定转移到WPF,那么合同将在他们自己的独立集会中。
这看起来是个好主意吗?或者我只是增加了我的解决方案中的项目数量,当一个具有子文件夹/命名空间的程序集足够好时?
感谢提前输入,
雷米
答案 0 :(得分:3)
将业务逻辑和实现细节与UI分离通常是个好主意。单独的程序集是一种常见且可见的强制执行方式。此外,使程序集名称与命名空间名称匹配是一个好主意。
到目前为止一直很好:)
但是,我会做的不仅仅是将合同纳入其中。我也将所有核心业务逻辑放在其中,尽可能将它与UI分离。我只是增加了我的解决方案中的项目数量,当一个带有子文件夹/命名空间的程序集足够好时?
如果您有多个程序可能重用该逻辑,那么绝对应该将它保存在单独的程序集中。通过控制台应用程序(用于脚本化)或Web应用程序公开逻辑是许多公司的常见重构。
在我非常担心这些可能性之前,我个人会为我的项目/公司确定这些事情的可能性。但我仍然将我的业务逻辑分开,因为它会节省我的时间,因为它总是降低维护工作的障碍(错误修复等)。
如果您正确使用Visual Studio快捷方式,则可以轻松浏览多个项目。 F12 是一个很好的学习方法,因为它会直接转到实现光标所关注代码的代码。