在哪里放我的课程/对象 - 一般项目设计

时间:2012-06-19 18:41:58

标签: class object

最近,我似乎正在努力组织我正在使用的所有不同的类/对象。就我而言,我为一家拥有3种不同核心产品的公司工作 - 但共享一些核心功能。所以,他们也会分享课程。为了使水更混乱,我正在编写ASP.NET MVC应用程序 - 它具有Classes(Model文件夹)的隐式位置。

所以 - 这就是我们目前正在做的事情。我将该产品称为NewProductxxx是公司名称:

  • 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)。 此外,如果我们将来要编写其他应用程序(移动设备,桌面等),也可以重复使用它们。

我的主要问题是当我试图决定放置物体的位置时,有时候我不确定放在哪里。这是正常的吗?别人有这个问题吗?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

当然这很正常!没有一种正确的方法来划分你的模块。但是不要在这上花太多时间。我们生活在IDE时代 - 你总能重构。对我来说,最重要的是可读性。当你的团队中的其他程序员寻找某些类/功能时,他们不应该感到惊讶 - 这就是全部。例如,我不知道我可以在名为Objects的模块中找到什么(但我不知道.net也不知道你的应用程序)。