2010-11-11 58 views
1

我在C#中使用ASP.NET,我在开发中很新,所以我想从专家那里得到一些建议:-)。你如何命名和组织CLASS文件?

问题:

  • 什么是组织类文件的最佳做法?
  • 你使用什么样的名字?
  • 对于Web应用程序项目,您如何命名NAMESPACE?

在我的案例中,我正在构建一个简单的CMS。我认为这样的文件结构:

- AppCode 
    - Common 
    - UserDataInput.cs 
    - ExternalLibrary 
    - BusinessLayer 
    - FrontEnd 
    - BackEnd 
    - AccessLayer 

谢谢你们与我分享你的想法! Bye

+1

我写了一个非常类似的[维基问题在这里](http://stackoverflow.com/questions/3516313/the-ultimate-visual-studio-solution-structure)。有一些很好的答案。 – 2010-11-11 07:06:36

回答

1

命名约定对每个人都不同,没有正确的答案只有最佳实践,但有很多错误的。当谈到面向对象的编程时,为了模块化的目的,不要过分夸大一些东西,比如DataHelpers项目可能会在你的后台使用,但是可以使用gravatar helper类(这是一个实际的类在Microsoft.Web.Helpers)是一个矫枉过正的,因为String.Format()和md5哈希方法是你所需要的。当涉及到模块化时,您会在另一个项目中再次看到您需要的东西。

这不言而喻,但要确保你的方法类的名称在你工作的上下文中有意义,当使用asp.net MVC时,我会有一个CMS.Controller项目和一个CMS.View项目,但是所有这些都将在CMS解决方案下,在经典的ASP.net中,我将命名为CMS.BL或CMS.Web。我不会在AppCode中添加任何项目,只需将项目添加到您的解决方案中,并且不要将它们称为“常见”,当您在跨解决方案运行代码时,它们会变得拥挤在* .Common命名空间中。

因此,通过项目对其代码进行分类,并确保实现一个层次结构,以使您从Xbase继承的classX与项目的temters中的相同类型的层次结构在实现此类模式在你的项目中,你将会更加成功,而不是Xbase被CSM.Web.Core和CMS.Web下的classX所接受,后者将为循环引用铺平道路。

这是一个im工作的项目的例子,它作为一个MVC应用程序开始,但后来变成了一个具有winforms和一切的项目。

只要东西对你有意义,而且你对此感觉舒服,就可以摆脱一切,就像下面的解决方案中那样,我有一个从Entities.Netsis继承的Data.Netsis.Entities。

sample

希望这有助于。