具有业务逻辑的简单asp.net应用程序的设计模式?

时间:2012-04-25 23:30:23

标签: asp.net asp.net-mvc design-patterns

我是来自Windows编程的asp.net世界的新手。会话,身份验证,页面生命周期对我来说仍然有些令人困惑的概念。

我目前正在设计一个简单的网站,只是为了学习asp.net。 (非常简单的讨论板带有标签,有点像stackoverflow但更简单100倍)

我设计了数据访问层,现在又设计了业务逻辑。我的业务逻辑如下所示:

  • 后端组件:规范化数据,复杂的计算等。我的后端只有2个类,总共15~20个成员。
  • 要访问的前端类的Controller静态类。

我的问题是:

  • 控制器类是否是必需的?我应该直接在asp.net页面中实例化每个后端组件吗?
  • 谁经常处理会话和身份验证?后端应该处理这个问题,还是前端的经理类负责所有用户会话/认证?
  • 我理解每次访问页面时都会重新实例化网页对象,如果前端控制后端,真的是不好的做法吗?

1 个答案:

答案 0 :(得分:1)

  1. 这是ASP.NET网络表单,还是MVC? MVC依靠控制器来处理请求,但是如果你为Web表单构建了一个控制器类,它实际上取决于控制器正在做什么以及它的用途。
  2. ASP.NET使用页面上的Session属性或httpcontext(如HttpContext.Current.Session)本机处理会话。这取决于你认为“会话”的内容,因为它可以有多种含义。身份验证可以很容易地由Membership API处理(在线阅读更多信息)。
  3. 理论上讲不是一个坏习惯,但可能会在实施中取决于其设计方式。某些对象也可以存储在静态级别,如果它们意味着每个请求都存在一次。