>>51aspx首页 | >>Winform源码 | >>.Net源码大搜捕 | >>问题/帮助

Asp.net源码交流论坛

登录 注册
  • 标签
  • 会员
  • 搜索
  • 帮助

Asp.net源码交流论坛 » Asp.net交流讨论区 » Asp.net技术文章 » [原创]最简单,最适合入门学习的三层架构例子

帖子标题
业务申请区
  • 实名认证申请
  • 免费.Net主机申请
  • 积分奖励申请
  • 有偿服务申请
Asp.net交流讨论区
  • Asp.net技术问答
  • .Net项目、服务交易区
  • .Net源码问答区
  • Asp.net技术文章
  • 常用工具下载
Asp.net资源发布区
  • [源码发布区]
  • [视频发布区]
  • [商业代码区]
  • [其他.net相关资源]
Asp.net专题讨论区
  • Ajax/Atlas无刷新技术
  • 面向对象开发
  • ADO.net讨论区
  • 控件专题讨论
源码环境搭建和部署视频! 源码使用常见问题 51Aspx自有服务产品 开业特惠 快速通道:[源码发布] | [实名认证]
1/11页12345678» 跳转到页查看:24822
发新话题 回复该主题
键盘左右键可以进行前后翻页操作
帮助

[原创]最简单,最适合入门学习的三层架构例子

本主题由 董事长 51aspx 于 2008-6-9 15:49:08 执行 设置精华/取消 操作
离线 qzzm
头像

  • [实习生]
  • [33]
  • 27
  • 2007-12-18
qzzm 2008-06-09 13:28 | 只看楼主 树型| 收藏| 小 中 大 1 #

[原创]最简单,最适合入门学习的三层架构例子



在发表文章之前,首先感谢51aspx,经常潜水的我,默默地“偷窥”地51aspx的技术文章,精品学习源码等等..
本人作为一个程序的爱好者,深感到程序学习是:入门容易,进阶难!(开始说正题:lol )有很多入门学者在为三层架构感到困惑,不知三层架构如何实现,现在本人详细地详一个简单的例子来说明三层架构的实现,至于三层架构是什么原理,51aspx老大说得很详细了,本人不再重复。

1.打开VS2008后,文件-->新建-->项目-->其他项目类型-->Visual Studio 解决方案-->空白解决方案 就起名为:MvcTest 吧

2.建立如图
 附件: 您所在的用户组无法下载或查看附件的项目,并在WEB-->App_Data建一个数据文件 DabaBase.mdf 里面建表:qzzm_user 表内:字段Name,类型:nvarchar(50)

3.在WEB中引用BLL,Model层新建Post.aspx

[复制到剪贴板]
CODE:
<%@ Page Language=&amp;amp;quot;C#&amp;amp;quot; AutoEventWireup=&amp;amp;quot;true&amp;amp;quot; CodeFile=&amp;amp;quot;Post.aspx.cs&amp;amp;quot; Inherits=&amp;amp;quot;Post&amp;amp;quot; %>
<!DOCTYPE html PUBLIC &amp;amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;amp;quot; &amp;amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;amp;quot;>
<html xmlns=&amp;amp;quot;http://www.w3.org/1999/xhtml&amp;amp;quot;>
<head runat=&amp;amp;quot;server&amp;amp;quot;>
    <title>无标题页</title>
</head>
<body>
    <form id=&amp;amp;quot;form1&amp;amp;quot; runat=&amp;amp;quot;server&amp;amp;quot;>
    <div>
   
        <asp:TextBox ID=&amp;amp;quot;tb_name&amp;amp;quot; runat=&amp;amp;quot;server&amp;amp;quot;></asp:TextBox>
 
        <asp:Button ID=&amp;amp;quot;btn_post&amp;amp;quot; runat=&amp;amp;quot;server&amp;amp;quot; onclick=&amp;amp;quot;btn_post_Click&amp;amp;quot; Text=&amp;amp;quot;提交&amp;amp;quot; />
   
    </div>
    </form>
</body>
</html>


Post.aspx.cs 先搁下等写好类库再写

4.在Model 实体类中新建一个user.cs的类

[复制到剪贴板]
CODE:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Model
{
    public class user
    {
        public user() { }
        private string _Name;
        public string Name
        {
            set { _Name = value; }
            get { return _Name; }         
        }
    }
}


5.在DAL新建userdb.cs,并引用Model层

[复制到剪贴板]
CODE:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
namespace DAL
{
    public class userdb
    {
        public bool adduser(Model.user model)
        {
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings[&amp;amp;quot;sqlconn&amp;amp;quot;].ConnectionString);
            con.Open();
            using (SqlCommand cmd = new SqlCommand(&amp;amp;quot;INSERT INTO qzzm_user(Name) VALUES(@Name)&amp;amp;quot;, con))
            {
            cmd.Parameters.AddWithValue(&amp;amp;quot;@Name&amp;amp;quot;, model.Name);
            if (cmd.ExecuteNonQuery() > 0)
                return true;
            else return false;
            }
        }
    }
}


6.在BLL中新建userbll.cs并引用DAL,Model层

[复制到剪贴板]
CODE:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
    public class userbll
    {
        DAL.userdb db = new DAL.userdb();
        public bool adduser(Model.user model)
        {
            return db.adduser(model);
        }
    }
}


7.可以开始写Post.aspx.cs了

[复制到剪贴板]
CODE:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class Post : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void btn_post_Click(object sender, EventArgs e)
    {
        Model.user us = new Model.user();
        us.Name = tb_name.Text;
        BLL.userbll ub = new BLL.userbll();
        ub.adduser(us);
    }
}


8.补充之前少写的Web.config的数据链接字符串

[复制到剪贴板]
CODE:
<connectionStrings>
  <add name=&amp;amp;quot;sqlconn&amp;amp;quot; connectionString=&amp;amp;quot;Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True&amp;amp;quot; providerName=&amp;amp;quot;System.Data.SqlClient&amp;amp;quot;/>
</connectionStrings>


最后,说下各层的引用关系:
1) WEB引用 DAL,Model
2)BLL引用 DAL,Model
3)DAL引用Model
4)Model无引用

拓展说明:本小例子只是从三层思路考虑,对业务逻辑层没有写特别的代码,只用来引用DAL,大家可以根据51aspx.com中的一些三层留言本来进行学习,便可写出更好的三层代码..到此结束吧,最后附上本人的源代码方便大家浏览.(P.S源代友中有个Utility类库是用来显示信息的,可能类库命名错了 ,同时希望51aspx老大给文章加个精~)

源码下载地址:http://www.51aspx.com/CV/MVCTest
本帖被评分 1 次
本帖被评分 1 次
最后编辑51aspx 最后编辑于 2008-06-10 09:15:31
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 3026
  • 2
  • -4 分
  • 2 元
  • 离线
在线 51aspx
头像

51aspx

  • [超级管理员]
  • [2800]
  • 2071
  • 2007-05-17
源码贡献奖实名用户
51aspx 2008-06-09 15:49 树型| 收藏| 小 中 大 2 #

回复:[原创]最简单,最适合入门学习的三层架构例子

[实名用户所发信息,推荐关注实名贴,值得关注]


非常不错!
技术问题请直接发布到论坛,客户服务QQ:1120930903,合作及咨询QQ:793095132
常见问题:点这里,请仔细查看!
基础配置视频: 点这里
问题搜索:请点击!
积分奖励: 关于论坛实名版块的建议...
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 2
  • 27
  • 594 分
  • 364.6 元
  • 北京
  • 在线
  • QQ: 793095132 793095132
离线 qzzm
头像

  • [实习生]
  • [33]
  • 27
  • 2007-12-18
qzzm 2008-06-09 17:17 | 只看楼主 树型| 收藏| 小 中 大 3 #

回复:[原创]最简单,最适合入门学习的三层架构例子



谢谢 老大赞扬..最近有时间继续深入学习.net了 一定多来棒场!
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 3026
  • 2
  • -4 分
  • 2 元
  • 离线
离线 abis
头像

  • [实习生]
  • [43]
  • 19
  • 2007-05-29
abis 2008-06-10 15:42 树型| 收藏| 小 中 大 4 #

回复:[原创]最简单,最适合入门学习的三层架构例子



目前正准备看三层架构,太感谢楼主了
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 33
  • 0
  • 24 分
  • -0.35 元
  • 离线
离线 goodyao
头像

  • [学员]
  • [1]
  • 1
  • 2008-06-10
goodyao 2008-06-10 21:18 树型| 收藏| 小 中 大 5 #

回复:[原创]最简单,最适合入门学习的三层架构例子



 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 21664
  • 0
  • 0 分
  • 0.1 元
  • 离线
离线 skyjoy2008
头像

  • [学员]
  • [1]
  • 3
  • 2008-04-03
skyjoy2008 2008-06-13 16:08 树型| 收藏| 小 中 大 6 #

回复:[原创]最简单,最适合入门学习的三层架构例子



对入门很有帮助...
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 12216
  • 0
  • -2 分
  • 0.45 元
  • 离线
离线 lj2000hjy
头像

小俊

  • [学员]
  • 1979-6-19
  • [4]
  • 4
  • 2008-04-09
lj2000hjy 2008-06-16 13:58 树型| 收藏| 小 中 大 7 #

回复:[原创]最简单,最适合入门学习的三层架构例子



不错,支持一下!
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 12860
  • 0
  • 0 分
  • 0.4 元
  • 上海
  • 离线
  • MSN Messenger: lj2000hjy@hotmail.com lj2000hjy@hotmail.com
离线 zaoboy
头像

  • [学员]
  • [8]
  • 8
  • 2008-01-04
zaoboy 2008-06-20 16:05 树型| 收藏| 小 中 大 8 #

回复:[原创]最简单,最适合入门学习的三层架构例子



不错的例子,记号上
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 4416
  • 0
  • 0 分
  • 0.8 元
  • 离线
离线 shipfriend
头像

  • [学员]
  • [6]
  • 6
  • 2008-06-27
shipfriend 2008-06-27 10:11 树型| 收藏| 小 中 大 9 #

回复:[原创]最简单,最适合入门学习的三层架构例子



干开始学,NET半个月,文章不错
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 23416
  • 0
  • 0 分
  • 0.6 元
  • 离线
离线 shipfriend
头像

  • [学员]
  • [6]
  • 6
  • 2008-06-27
shipfriend 2008-06-27 10:19 树型| 收藏| 小 中 大 10 #

回复:[原创]最简单,最适合入门学习的三层架构例子



我一般BLL,DAO,VO,Project
 

TOP

 

发送短消息

查看公共资料

查找该会员全部帖子

  • 23416
  • 0
  • 0 分
  • 0.6 元
  • 离线
<<上一主题|下一主题>>
1/11页12345678» 跳转到页
发表新主题 回复该主题
  • 发新主题

Asp.net源码下载专业站  - 源码推荐 - 最新源码  Sitemap

bbs.51Aspx.com - 简洁版本 - TOP - 界面风格

  • Default

Discuz!NT

Powered by Discuz!NT 2.6.1 © 2000-2010 51Aspx.com.

Processed in 0.484375 second(s) , 7 queries. 京ICP备06046876号

  • 我的资料
  • 我的主题
  • 我的回复
  • 我的精华
  • 我的附件
  • 我的收藏
  • 基本状况
  • 流量统计
  • 客户软件
  • 发帖量记录
  • 版块排行
  • 主题排行
  • 发帖排行
  • 积分排行
  • 在线时间
帖子标题
作  者