C\#기반 3 층 구조 인 스 턴 스

4237 단어 C#
본 고 는 C\#를 바탕 으로 하 는 3 층 구조 이다.3 층 의 개념 에 대한 조 사 는 모두 가 낯 설 지 않다 고 믿 습 니 다.여기 서 3 층 에 관 한 간단 한 사례 를 들 어 그것 이 어떻게 구체 적 으로 실현 되 는 지 진정 으로 보 겠 습 니 다.
저희 가 먼저 실 체 를 보도 록 하 겠 습 니 다.-모델.
실질:실체 류 는 데이터베이스 와 실체 류 가 대응 하 는 기능 을 완성 하 는 것 입 니 다.하 나 는 표 이 고 하 나 는 속성 이 필드 입 니 다!

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; } 
    } 
 
  } 
}

다시 한 번 말씀 드 리 지만 이 인 스 턴 스 는 설정 파일 을 사용 하여 데이터 베 이 스 를 방문 합 니 다.물론 우리 가 할 때 SqlHelper 를 사용 할 수도 있 고 데이터 베 이 스 를 연결 하 는 이 코드 들 을 D 층 에 직접 놓 을 수도 있 습 니 다.

<add name="ConnectionString" connectionString="Data Source=localhost;Initial Catalog=tester;User ID=sa;Password=123456" providerName="System.Data.SqlClient" /> 
 
3 층 중 최 하층-데이터 액세스 층(DAL)  이 층 은 실체 클래스 와 Configuration 에 대한 인용 을 참조 합 니 다.
실질:데이터베이스 에 있 는 내용 의 증가,삭제,수정,조사

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using model; 
using System.Data; 
using System.Configuration; 
using System.Data.SqlClient; 
 
namespace DAL 
{ 
  public class UserDB 
  { 
    public bool User_add(model.User model) 
     { 
       string setting = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); 
       SqlConnection myconn=new SqlConnection(setting); 
       myconn.Open(); 
       SqlCommand cmd=new SqlCommand("insert into dbo.[user]([name]) values(@name)",myconn); 
       cmd.Parameters.AddWithValue("@name", model.name); 
       if (cmd.ExecuteNonQuery()>0) 
       { 
         return true; 
       } 
       else 
       { 
         return false; 
       } 
     } 
  } 
}

3 층 교량-비 즈 니스 논리 층 BLL  이 층 은 실체 클래스 와 데이터 접근 층 을 참조 해 야 합 니 다.
실질:U 층 의 문 제 를 처리 하 는 책임(본 예 는 주로 데이터 층 에 대한 조작)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using DAL; 
 
namespace BLL 
{   
     public class userBLL 
     { 
      DAL.UserDB db = new UserDB(); 
      public bool addUser(model.User model) 
       { 
        return db.User_add(model); 
       } 
     }   
}

3 층 중 에 꼭대기.-표현 층 UI.  이 층 은 실체 류 와 업무 논리 층 을 인용 해 야 한다.
실질:무엇 을 하 는 문 제 를 구체 적 으로 해결 합 니까?

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using BLL; 
using model; 
 
namespace    
{ 
  public partial class Form1 : Form 
  { 
    public Form1() 
    { 
      InitializeComponent(); 
    } 
 
    private void button1_Click(object sender, EventArgs e) 
    { 
      model.User thisUser = new User(); 
       thisUser.name = TB_username.Text.ToString(); 
       BLL.userBLL uB = new userBLL(); 
       if (uB.addUser (thisUser)) 
       { 
        MessageBox.Show ("true"); 
       } 
       else                           
       { 
         MessageBox.Show ("false"); 
       } 
     } 
    } 
  }

3 층 간 의 관 계 는 다음 그림 과 같다.

설명:
상기 코드 에서 DAL 은 주로 데이터베이스 에 있 는 내용 을 조작 하 는데 여기 서 데이터베이스 에 사용 자 를 추가 하 는 것 입 니 다.BLL 은 주로 DAL 층 을 호출 하여 DAL 층 에 사용자 의 결 과 를 추가 합 니 다(true 또는 false).이렇게 하면 클 라 이언 트 와 데이터 베이스 에 중간 층 을 추가 하여 두 층 의 의존 도 를 줄 이 는 것 이다.UI 층 은 주로 사용자 의 요구 에 부 응 하여 BLL 층 이 실현 하 는 adduser 방법 을 호출 합 니 다.DAL 층 은 이 일 을 실제 적 으로 하 는 작업 입 니 다.

좋은 웹페이지 즐겨찾기