ARTICLEs

Mô hình 3 layer, 3 tier và cách vận dụng vào dự án thực tế0

An article of Truong Minh Tuan created at 2017-03-28 14:32:09

Trong giới công nghệ thì chúng ta rất thường nghe 2 thuật ngữ n-layer, n-tier, nhưng thực tế chúng ta chỉ nghe nói về 3 layer. Vậy thì layer, tier có gì giống và khác nhau.

N-tier: là kiến trúc triển khai ứng dụng ở mức vật lý (physical) hay kiến trúc phần cứng để triển khai vì nó có chứa các server database, server application, server webmail

N-layer: là kiến trúc thiết kế ứng dụng ở mức logic hay là thiết kế các sản phẩm phần mềm Application, website

*** Mô hình 1 tier, 3 layer

Physical View: 1 tier bao gồm cả Computer, Application, Data.
Logical View: 3 layer thì sản phẩm phần mềm được triển khai theo 3 phần gồm: GUI, BLL, DAL

*** Mô hình 2 tier, 3 layer

Physical View: 2 tier bao gồm cả Data Server và các máy Client, để các physical làm việc với nhau đòi hỏi phải có đường truyền mạng.
Logical View: 3 layer thì sản phẩm phần mềm được triển khai theo 3 phần gồm: GUI, BLL, DAL

*** Mô hình 3 tier, 3 layer

Physical View: 3 tier bao gồm cả Data, Business và các máy Client, WebServer, để các physical làm việc với nhau đòi hỏi phải có đường truyền mạng.
Logical View: 3 layer thì sản phẩm phần mềm được triển khai theo 3 phần gồm: GUI, BLL, DAL. Như vậy mỗi layer đều do một tier xử lý

Việc chia như thế thì mỗi layer làm gì trong ứng dụng của chúng ta?

- GUI (Presentation) Layer: nằm phía client, web server nhằm giúp cho người dùng nhập liệu vào sản phẩm phần mềm, kiểm tra tính đúng đắn (ràng buộc) khi khi gọi BLL

- Business Logic Layer (BLL): Đáp ứng các yêu cầu từ GUI layer, kiểm tra các nghiệp vụ trước khi cập nhật dữ liệu

- Data Access Layer (DAL): Giúp cho việc Connection, Search, Insert, Update, Delete, GetList… trên cơ sở dữ liệu trở nên thuận lợi hơn

Vậy thì việc trao đổi dữ liệu giữa các layer đều thông qua Data Transfer Object (DTO)

Dưới đây, mình demo một ứng dụng nhỏ để bạn đọc có thể hiểu được cách dùng 3 layer vào dự án thực tế

Bước 01: Dùng Visual Studio để tạo một Project mới ở đây mình dùng ASP.NET Application

Bước 02: Tạo một layer DAL bằng cách click phải Solution chọn Add / New Project

Bước 03: Tạo một layer DTO bằng cách click phải Solution chọn Add / New Project

Bước 04: Tạo một layer BLL bằng cách click phải Solution chọn Add / New Project

Bước 05: Trong DAL, mình tạo một LINQ to SQL để đảm nhận việc kết nối đến cơ sở dữ liệu cũng như quản lý các Table trong ứng dụng. Sau đó, mình add các table tương ứng từ SQL Server. Ở lớp DAL này, bạn cũng có thể khai báo các lớp kết nối riêng nếu cần

Bước 06: Trong BLL, mình tạo một class có tên NewsBLL.cs để làm việc với dữ liệu trong LINQ to SQL. Nhưng phải Add Reference lớp DAL vào BLL

Bước 07: Trong DTO, mình tạo các thuộc tính tương ứng với các Field trong Table News

Bước 08: Trong WebApp (GUI), mình cho hiển thị dữ liệu lên lưới Repeater thông qua BLL trước đó. Lưu ý bạn phải Add Reference lớp DAL, BLL

Bước 09: Kiểm tra Project bằng cách chạy website để xem các lớp thực thi dữ liệu thông qua các lớp thật tuyệt vời.

Với loạt bài hướng dẫn cơ bản trên, mình chúc các bạn nắm vững được mô hình tier, layer và cách vận dụng của nó vào sản phẩm. Mọi thắc mắc, bạn hãy comment bên dưới nhé, tức nhiên là phải có tài khoản Facebook

Share project Nhấn vào đây để download

Trương Minh Tuấn







TRUONG MINH TUAN - support: ifsoft@live.com