【问题标题】:How to organize my classes?如何组织我的课程?
【发布时间】:2009-06-19 03:58:59
【问题描述】:

我正在用 ASP.NET MVC 开发一个小项目来管理照片,但我不知道如何在命名空间中组织我的类。

我有 2 个基类(照片和类别)。我应该把这些类放到哪个命名空间中?领域? POCO/POJO?

对于数据访问,我在 DAO 命名空间中有更多的 2 个类,PhotoDAO 和 CategoryDAO。 (对吗?)

我应该将我的业务逻辑类放在哪个命名空间以及如何命名它们?

有人对我必须使用/学习哪些设计模式有任何建议吗?

很抱歉问了这么基本的问题。谢谢。

【问题讨论】:

  • 三分。 (1) 最外层的命名空间应该是你公司的名字;它应该永远不会与其他任何人的命名空间发生冲突。 (2) 永远不要将一个类和一个命名空间命名为同一个东西;这样做既使它非常混乱,也违背了命名空间的目的。 (如果您将一个类放入命名空间,因为它与另一个同名的类发生冲突,那么使该命名空间也使情况变得更糟!)并且(3)立即为自己获取一份框架设计指南的副本;一切都是为了回答这样的问题。

标签: c# asp.net-mvc oop principles


【解决方案1】:

我坚决拥护简单/按需重构的方法。

在这种方法中,您只需将所有类放入一个命名空间中,并让您的代码正常工作。在开发周期的任何时候,您都开始感到“杂乱无章”,请考虑您拥有的类,并在逻辑上将它们分成一个或两个与您对每个组的看法相匹配的命名空间。

随着您的继续,定期/根据需要重复此过程,当您的总文件数增加时,您可以考虑构建文件夹以反映您的命名空间。

这可能并不适合所有人,但如果先完成然后进行微调的想法对您有吸引力,那么我会推荐这种方法。

更新:

链接到MVC tutorials,这将使您了解他们建议的工作方式。

【讨论】:

  • 话虽如此; ASP/MVC 人员有一些他们使用的“约定”,如果您遵循这些约定,将对您非常有帮助......
【解决方案2】:

考虑将类别设为枚举(照片可以有一组类别)。考虑一个专辑类。允许一张照片出现在多个相册中。使用 mvc 迷你架构。看看 picasa。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 2012-09-11
    • 2010-10-17
    • 1970-01-01
    • 2014-08-18
    • 2015-11-12
    • 1970-01-01
    相关资源
    最近更新 更多