当前位置:编程学习 > asp >>

ASP.NET(MVC)三层架构知识的学习总结

 至从使用过一次MVC进行团队开发后,体会到了面向对象开发软件的便利。使用MVC的时候,各个层之间的低耦合使得他们之间的联系非常的第,也就降低了模块之间的依赖程度。
首先介绍一下MVC的意义,和各个层面之间的用途和功能。
1)实体层。主要用来声明在视图层和业务逻辑层之间传递数据的载体。通常代表来源与项目数据库中一个或者多个表组成的一条有意义的记录。
2)业务逻辑层。根据业务逻辑向视图层提供数据,这个项目中的类有权根据业务逻辑来决定是否调用数据库访问层的方法
3)数据库访问层。项业务逻辑层提供访问数据的方法。
4)视图层。主要是以网站开发为例。用于提供显示,添加,编辑和删除数据。
我在VS中创建的项目的结构图:
 

NetMVC就是所谓的视图层。Entity是实体层,用来声明开发过程中被要使用的所有变量。DAL是数据库访问层,主要完成所有操作对数据库的访问。BLL是业务逻辑层,处理视图层传来的业务逻辑,然后传递给数据库访问层进行处理。
本例主要演示的是登陆页面的实现,Entity层的代码如下
 
using System;
using System.Collections.Generic;
using System.Text;
 
namespace Entity
{
    public class UserInfo
    {
        private int UserId;
 
        /// <summary>
        /// 用户比编号
        /// </summary>
        public int UserId1
        {
            get { return UserId; }
            set { UserId = value; }
        }
        private string username;
 
        /// <summary>
        /// 登录账户名称
        /// </summary>
        public string Username
        {
            get { return username; }
            set { username = value; }
        }
 
        private string password;
 
        /// <summary>
        /// 登录密码
        /// </summary>
        public string Password
        {
            get { return password; }
            set { password = value; }
        }
        private int loginCount;
 
        /// <summary>
        /// 登陆次数
        /// </summary>
        public int LoginCount
        {
            get { return loginCount; }
            set { loginCount = value; }
        }
        private DateTime regDate;
 
        /// <summary>
        /// 注册时间
        /// </summary>
        public DateTime RegDate
        {
            get { return regDate; }
            set { regDate = value; }
        }
        private DateTime lastLoginDate;
 
        /// <summary>
        /// 最后登录时间
        /// </summary>
        public DateTime LastLoginDate
        {
            get { return lastLoginDate; }
            set { lastLoginDate = value; }
        }
        private bool isForbidden;
        private string passwordQuestion;
 
        /// <summary>
        /// 找回密码提示问题
        /// </summary>
        public string PasswordQuestion
        {
            get { return passwordQuestion; }
            set { passwordQuestion = value; }
        }
        private string passwordAnswer;
 
        /// <summary>
        /// 找回密码答案
        /// </summary>
        public string PasswordAnswer
        {
            get { return passwordAnswer; }
            set { passwordAnswer = value; }
        }
 
 
    }
}
完成对实体类的创建,接着就要完成对数据库访问层的创建(其中需要用到上篇问章所写的SqlHelper数据库访问通用类 http://yisuowushinian.blog.51cto.com/4241271/999324 ),代码如下,
 
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using Entity;
 
namespace DAL
{
    public class UserDal
    {
        private string connectionString = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
 
        /// <summary>
        /// 添加用户
        /// </summary>
        /// <param name="info">用户的实体类</param>
        /// <returns></returns>
        public bool AddUser(UserInfo info)
        {
          &n

补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,