繁体   English   中英

为代码设置ASP.NET结构

[英]Setting up ASP.NET structure for code

开发Web应用程序时,我始终使用C#MVC3进行编码。 但是现在我想学习更多有关仅使用ASP.NET开发网站的知识。

但是,现在我想知道对我的代码而言,哪种设置很好。 对我而言,类似MVC的模式似乎是一个不错的选择。 但是很显然,ASP.NET没有任何路由器和控制器类。 因此,我想人们在使用ASP.NET时会有不同的方式来设置代码。

因此,我正在寻找有关如何入门的更多信息。 因此,不是真正的ASP.NET基础知识,而是着眼于良好代码设置的内容。

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

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

这使我可以对所有演示者和逻辑进行单元测试,而只是将ASP.NET视为IViews的实现。

在这种方法中,我通常会有:

  • UI(Web应用程序项目)
  • UI Common,控件等类库
  • 演讲班图书馆
    • 演示者通常包含业务逻辑,它们与ASP.NET无关
  • 演示支持类库
  • 数据模型类库(EF,NHibernate等)

并且,根据应用程序的不同,您可能需要在表示和数据模型之间建立单独的业务层,并从Presenters中获取逻辑。

基础- “MVC”, “网络形式”, “网站项目”, “Web应用程序项目” 都是 ASP.Net。 您可以随意混合/匹配-例如,我可以有一个包含webform1.aspx的Web API项目。 您可以在同一应用程序中包含vbhtml / cshtml(剃刀)文件和aspx文件(网络窗体)。 我可以在MVC应用程序中使用Web表单,通用处理程序等,等等。 它们都在“ ASP.Net”之下。

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

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

  1. 网络应用程序本身
  2. 业务逻辑层
  3. 数据访问层
  4. 实体(如果您使用的是实体框架)
  5. 也许是网络控制项目

可能会有所不同,具体取决于您的站点。 对于简单站点,您只能具有仅几个aspx页面的Web应用程序。

不知道这是否在回答您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM