C# 如何组织我的课程?

C# 如何组织我的课程?,c#,asp.net-mvc,oop,principles,C#,Asp.net Mvc,Oop,Principles,我正在ASP.NETMVC中开发一个小项目来管理照片,但我不知道如何在名称空间中组织我的类 我有两个基本类(照片和类别)。我应该把这些类放在哪个命名空间中?域名?POCO/POJO 对于数据访问,我在DAO名称空间中有两个以上的类:PhotoDAO和CategoryDAO。(对吗?) 我应该将业务逻辑类放在哪个名称空间中,以及如何命名它们 有人对我必须使用/研究哪些设计模式有什么建议吗 我很抱歉问这么基本的问题。谢谢。我坚定地支持简单性/根据需要重构的方法 在这种方法中,您只需将所有类放在一个名

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

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

对于数据访问,我在DAO名称空间中有两个以上的类:PhotoDAO和CategoryDAO。(对吗?)

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

有人对我必须使用/研究哪些设计模式有什么建议吗


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

我坚定地支持简单性/根据需要重构的方法

在这种方法中,您只需将所有类放在一个名称空间中,并使代码正常工作。在开发周期中的任何一点上,您开始感到“混乱”,请思考您拥有的类,并将它们逻辑地划分为一个或两个名称空间,以匹配您对每个组的看法

当你继续时,按需要重复这个过程,当你的总文件数增长时,你可以考虑构造你的文件夹来反映你的命名空间。

这可能不是每个人都能接受的方法,但如果你喜欢先完成,然后再进行微调的想法,那么我会推荐这种方法

更新:


链接将让您了解他们如何推荐操作。

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

就是这么说的;ASP/MVC人员有一些他们使用的“约定”,如果您遵循……三点,它们将对您非常有帮助。(1) 最外层的名称空间应该是您公司的名称;它应该是永远不会与任何其他名称空间冲突的。(2) 永远不要将类和命名空间命名为同一事物;这样做既会使它非常混乱,也会破坏名称空间的用途。(如果你把一个类放到一个命名空间中,因为它与另一个同名的类发生了冲突,那么使用这个同名的命名空间会使情况变得更糟!)和(3)现在就给自己一份框架设计指南的副本;这都是关于回答这样的问题。