asp.Net-----三層の簡単な使用+MVC

3996 ワード

3階層アーキテクチャ


3つの層は、表現層(UI)ビジネスロジック層(BLL)データアクセス層(DAL)にエンティティクラスライブラリ(Model)を加えたものである.

3階層アーキテクチャ(C#での使用)


1、エンティティクラスライブラリ(Model)で、主にデータベースのテーブルフィールドを保存します。


操作:(1)エンティティクラスライブラリModelを作成し、プロジェクトを開き、ソリューションで右クリック--「追加--」新規プロジェクト--「選択クラスライブラリ--」名前変更Model--」決定(2)モデルクラスライブラリ--「Shift+ALT+C-」を選択してエンティティクラスを作成します.
UserInfoクラス
namespace Model
{
   public classUserInfo
    {
        publicstring  UserName { get; set; }
        publicstring  Password { get; set; }
    }
}

2、データアクセス層(DAL)は、主にデータクラスへのアクセス、すなわちデータベースへの追加、削除、修正、更新などの基本操作を格納する


 
操作:(1)まずデータアクセス層クラスライブラリDALを確立し、プロジェクトを開き、ソリューションで右クリック--「追加--」新規プロジェクト--「選択クラスライブラリ--」名前変更DAL-」決定(2)DALにModelへの参照を追加し、DAL-」Alt+P+R-」ソリューション--「プロジェクト--」選択MOdel-」決定(3)DALにシステムを追加する.configurationの参照は、DAL-"Alt+P+R-"プログラムセット--"フレームワーク--"を選択してSystemを選択します.configuration--(4)データアクセスクラスを確立することを決定し、DAL-』Shift+ALT+C-」を選択してデータアクセスクラスを確立する.UserDBクラス
using System.Configuration;
using Model;
using System.Data;
using System.Data.SqlClient;
 
namespace DAL
{
    classUserDB
    {
        privatestring connString = ConfigurationManager.ConnectionStrings[connString].ToString();
        publicintAddUser(UserInfo userInfo)
        {
            //             
            string commandText = insert into UserInfo (userName,Password)values(@userName,@Password);
            SqlParameter[] paras = newSqlParameter[]
            {
           newSqlParameter (@userName,userInfo.UserName ),
           newSqlParameter (@Password,userInfo.Password )
            };
            returnSqlHelper.ExecuteNonQuery(connString, CommandType.Text, commandText, paras);
        }
    }
//          
}

3、業務ロジック層(BLL)は転送データに対してロジック判定を行い、正しい値を転送する。


(1)まずビジネスロジック層クラスライブラリBLLを確立し、プロジェクトを開き、ソリューションの中で右クリック--「追加--」新規プロジェクト--「選択クラスライブラリ--」改名BLL-」決定(2)BLLにModel、DALへの参照を追加し、BLL-」Alt+P+R-「ソリューション--」プロジェクト--「MOdel、DAL-」選択(3)ビジネスロジッククラスを確立し、BLL-」Shift+ALT+C-」を選択してビジネスロジッククラスを確立する.LoginManagerクラス
using DAL;
using Model;
 
namespace BLL
{
    publicclassLoginManager
    {
        privateUserDB userDB = newUserDB();
        publicbool Add(UserInfo userInfo, out string messageStr)
        {
            messageStr = ;//             
            bool isSuccess = false;
            if(userInfo.UserName.Trim().Length != 0)//       username    
            {
                if(userDB.IsEquals(userInfo))//  DALl              
                {
                    userDB.AddUser(userInfo);//  DAL         
                    isSuccess = true;
                }
                else
                    messageStr =      ;
            }
            else
            {
                messageStr =     ;
            }
            returnisSuccess;//           
        }
    }
}

4、表現層(UI)即ちユーザーインタフェース層


(1)UIにModel,BLLへの参照を追加し,UI-』Alt+P+R-』ソリューション--』プロジェクト--』選択MOdel,BLL-」決定(2)コードを記述してBLL層にデータを渡す.
 
UserInfo userInfo;
    LoginManager lm = newLoginManager();
    privatevoidbtnAdd_Click(object sender, EventArgs e)
    {
        userInfo = newUserInfo()
        {
            UserName = txtUserName.Text.Trim(),
            Password = txtPassword.Text.Trim()
        };
        string messageStr = ;
        if(lm.Add(userInfo, out  messageStr))
        {
            MessageBox.Show(    );
        }
        else
        {
            MessageBox.Show(messageStr);
            txtUserName.Focus();
        }
    }
}

MVC:


MVC紹介


MVCはデスクトッププログラムに存在し、Mはビジネスモデル、Vはユーザーインタフェース、Cはコントローラであり、MVCを使用する目的はMとVの実装コードを分離し、同じプログラムが異なる表現形式を使用できるようにすることである.例えば、統計データはそれぞれ柱状図、餅図で表すことができる.Cが存在する目的は、MとVの同期を確保することであり、Mが変化すると、Vは同期して更新されるべきである.

MVCプログラミングモード


MVCは、MVC(Model View Controllerモデル-ビュー-コントローラ)設計を使用してWebアプリケーションを作成するモードです.
Model(モデル)は、データベース・レコード・リストなどのアプリケーション・コアを表します.View(ビュー)は、データ(データベースレコード)を表示します.Controller(コントローラ)は、入力(データベースレコードへの書き込み)を処理します.