为代码设置ASP.NET结构

时间:2012-12-08 17:32:32

标签: c# asp.net oop

在开发Web应用程序时,我总是用C#MVC3编写代码。但是现在我想学习更多关于用ASP.NET开发网站的知识。

但现在我想知道我的代码有什么好的设置。对我来说,类似MVC的模式似乎是一个很好的方法。但显然ASP.NET没有任何路由器和控制器类。所以我猜人们在做ASP.NET时有不同的方法来设置代码。

所以我正在寻找有关如何开始使用它的更多信息。所以不是ASP.NET的基础知识,而是专注于良好代码设置的东西。

关于此的任何好的教程/信息?

3 个答案:

答案 0 :(得分:2)

过去,在构建ASP.NET应用程序时,我发现Model View Presenter设计模式在将所有代码隐藏提取到表示层(与Web程序集无关的单独类库)中非常有用。

这允许我对所有演示者和逻辑进行单元测试,并且只考虑ASP.NET作为IViews的实现。

在那种方法中,我通常会:

  • UI(Web应用程序项目)
  • UI Common,controls等类库
  • 演示类库
    • 演示者通常包含业务逻辑,它们与ASP.NET无关。
  • 演示文稿支持类库
  • 数据模型类库(EF,NHibernate等)

根据应用程序的不同,您可能需要在演示文稿和数据模型之间使用单独的业务层,并从演示者中获取逻辑。

答案 1 :(得分:2)

基础知识 - “MVC”,“网络表单”,“网站项目”,“网络应用程序项目”全部 ASP.Net。您可以随意混合/匹配 - 例如我可以拥有一个带有webform1.aspx的Web API项目。您可以在同一个应用程序中使用vbhtml / cshtml(razor)文件和aspx文件(webforms)。我可以在MVC应用程序中拥有Web表单,通用处理程序等......等等。他们都在“ASP.Net”之下。

其他答案为您提供了可用于ASP.Net Web应用程序/站点的结构 - 您会注意到它是“分层” - 又名 - “业务层”,“数据层”等也适用于MVC 。如果你超越了术语,我认为这完全是关于“关注点分离”(又称“分层”,可重用,单元可测试等)。

答案 2 :(得分:1)

实际上,如果您的网站足够大,解决方案应包括以下项目:

  1. 网络应用程序本身
  2. 业务逻辑层
  3. 数据访问层
  4. 实体(如果您使用的是实体框架)
  5. 也许是网页控件项目
  6. 取决于您的网站,它可能更多或更少。对于简单的站点,您只能拥有几个aspx页面的Web应用程序。

    不确定它是否回答了你的问题。