我在C#中使用ASP.NET,我在开发方面很陌生,所以我希望得到专家的一些建议: - )。
问题:
在我的案例中,我正在构建一个简单的CMS。我认为FILE结构是这样的:
- AppCode
- Common
- UserDataInput.cs
- ExternalLibrary
- BusinessLayer
- FrontEnd
- BackEnd
- AccessLayer
感谢各位与我分享您的想法!再见
答案 0 :(得分:1)
命名约定对每个人来说都是不同的,没有正确的答案只有最佳实践,但有很多错误的。对于面向对象的编程而言,为了模块化而不要过度使用某些东西,例如将在你的后端使用的DataHelpers项目可能是你随身携带的东西但是,比如一个gravatar助手类(这是一个实际的类)在Microsoft.Web.Helpers下)只是因为String.Format()
和md5哈希方法就是你需要的所有东西。在模块化方面,它非常关注你在另一个项目中需要的东西。
这是不言而喻的,但是,确保你的方法类名称在你工作的上下文中有意义,当使用asp.net MVC我将拥有CMS.Controller项目和CMS.View项目但所有将在CMS解决方案下,在经典的ASP.net中,我将命名为CMS.BL或CMS.Web。我不会在AppCode下放置任何东西只是将项目添加到您的解决方案中而不要将它们称为Common,当在解决方案中携带代码时,它们会变得过度拥挤* .Common命名空间。
因此,根据项目的用途对代码进行分类,并确保实现层次结构,以便在实现此类模式时,从Xbase继承的classX在项目的同一层次结构中处于同一层次结构中在你的项目中,你将更加成功,而不是在CMS.Web下的XM在CSM.Web.Core和classX下,后来将为循环引用铺平道路。
这是一个正在进行的项目的示例,它作为一个MVC应用程序启动,但后来变成了一个具有winforms和一切的项目。
只要东西对你有意义并且你感到舒服,你就可以逃脱一切,就像在下面的解决方案中我有一个继承自Entities.Netsis的Data.Netsis.Entities。
希望这有帮助。