最近,我似乎正在努力组织我正在使用的所有不同的类/对象。就我而言,我为一家拥有3种不同核心产品的公司工作 - 但共享一些核心功能。所以,他们也会分享课程。为了使水更混乱,我正在编写ASP.NET MVC应用程序 - 它具有Classes(Model文件夹)的隐式位置。
所以 - 这就是我们目前正在做的事情。我将该产品称为NewProduct
。 xxx
是公司名称:
xxx.Core
- 所有产品中使用的类。这些可以是辅助函数,带逻辑的实际类等。xxx.NewProduct.Web
- NewProduct的MVC Web App。 Models文件夹为空。xxx.NewProduct.WindowsService
- Windows服务 - NewProduct的一部分。xxx.NewProduct.Models
- 基本上,它取代了MVC Web应用程序中的Models文件夹。它们位于自己的项目中,因此 DomainLogic 可以填充它们并将它们传递回MVC应用程序。 xxx.NewProduct.Objects
- 在 Web 和 WindowsService 之间共享的具有逻辑的类(不仅仅是像模型这样的Skeletons)。xxx.NewProduct.DataAccess
- 这是DAL,对我这里的问题并不重要。xxx.NewProduct.DomainLogic
- 这是业务逻辑层(调用DAL)。
此外,如果我们将来要编写其他应用程序(移动设备,桌面等),也可以重复使用它们。我的主要问题是当我试图决定放置物体的位置时,有时候我不确定放在哪里。这是正常的吗?别人有这个问题吗?有什么建议吗?
答案 0 :(得分:1)
当然这很正常!没有一种正确的方法来划分你的模块。但是不要在这上花太多时间。我们生活在IDE时代 - 你总能重构。对我来说,最重要的是可读性。当你的团队中的其他程序员寻找某些类/功能时,他们不应该感到惊讶 - 这就是全部。例如,我不知道我可以在名为Objects的模块中找到什么(但我不知道.net也不知道你的应用程序)。