<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="基于asp.net的Web开发架构探索" id="card1">
<p> 游客</p><p>
标题:基于asp.net的Web开发架构探索<br/>
正文:<br/>
问题由来最近在研究适合团队开发的web架构解决方案，该架构即要适合分工协作又要有一定扩展性，适合不同的数据库需要，因此我查阅了一些资料，初步构想出了一套架构，请各位多多指教。 探索web开发架构最经典莫过于三层架构，表示层、逻辑层、数据处理层。数据访问层：其功能主要是负责数据库的访问。业务逻辑层：是整个系统的核心，它与这个系统的业务（领域）有关。表示层：是系统的UI部分，负责使用者与整个系统的交互。理想的状态是表示层不应包括系统的业务逻辑。这些是经典的解释，如果要适合不同的数据库则需要加入工厂模式，里面用面向接口的方式进行多态调用。是不是这有点像petshop了。所以架构的初步设想是这样：下面以获取用户信息为例，简述这个架构的流程：（以下为类似petshop的经典做法，了解的可以略过）step 1 、首先我们应该建立项目所需的实体模型，在这里新建用户信息的实体模式，UserInfo.cs。该类保存在Model项目里。step 2 、我们再将项目的单元功能写到相关的接口中，这里以获取用户信息功能为例。在IDAL项目里新建IUser接口。        //根据用户ID获取用户信息        UserInfo GetUserById(int userId);step 3、完成了接口，我们就要实现它，现在我们用sqlserver、oracle两种数据库访问方式来实现它。以下是SqlserverDAL中User类对接口的现实：public class User:IUser    {                public UserInfo GetUserById(int userId)        {         //实现操作   &amp;nbs<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=195&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=195&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=195&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=195&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=195&amp;Page=7">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=195">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=195">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>