Mô hình 3 lớp là gì và cách sử dụng mô hình 3 lớp hiệu quả

Thảo luận trong 'Lập trình phần mềm' bắt đầu bởi admin, 25/12/14.

  1. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,897
    Đã được thích:
    1,198
    Điểm thành tích:
    113
    Giới tính:
    Nam
    1. Mô hình 3 lớp là gì?
    • Mô hình 3 lớp hay còn được gọi là mô hình Three Layer(3-Layer), mô hình này ra đời nhằm phân chia các thành phần trong hệ thống, các thành phần cùng chức năng sẽ được nhóm lại với nhau và phân chia công việc cho từng nhóm để dữ liệu không bị chồng chéo và chạy lộn xộn.
    • Mô hình này phát huy hiệu quả nhất khi bạn xây dựng một hệ thống lớn, việc quản lý code và xử lý dữ liệu lỗi dễ dàng hơn.
    2. thành phần cấu tạo trong mô hình 3 lớp.
    • Mô hình 3 lớp gồm 3 thành phần : Presentation Layers, Business Logic Layers, Data Access Layers.
    ho-hinh-3-lop-la-gi-cach-su-dung-mo-hinh-3-lop.png

    Hình 1 : Mô hình 3 lớp cơ bản

    ho-hinh-3-lop-la-gi-cach-su-dung-mo-hinh-3-lop-1.jpg

    Hình 2 : Mô hình 3 lớp dạng chi tiết​

    3. Lớp Presentation Layers
    • Là lớp giao tiếp với người dùng cuối để thu thập dữ liệu, hiển thị kết quả và dữ liệu thông qua các thành phần trong giao diện người sử dụng, ta có thể gọi tắt là lớp giao diện.
    • Lớp này sẽ sử dụng các dịch vụ ở lớp Business Logic Layers cung cấp. Trong lập trình asp.net ta sử dụng win Forms, ASP.NET, Mobile Forms để giao tiếp với lớp này.
    • Lớp này có 2 thành phần chính là User Interface ComponentsUser Interface Process Components.
    • User Interface Components là những thành phần chịu trách nhiệm thu thập và hiển thị thông tin lên cho người dùng cuối, các lớp này bao gồm : textbox, button, dataGrid, combobox,....
    • User Interface Process Components là những thành phần chịu trách nhiệm quản lý các quy trình chuyển đổi giữa các User Interface Components.
    4. Lớp Business Logic Layers
    • Lớp này xử lý dữ liệu trước khi đưa lên hiển thị trền màn hình ở lớp Presentation Layers, lớp này sử dụng các dịch vụ từ lớp Data Access cung cấp.
    • Lớp này thực hiện kiểm tra các điều kiện, rằng buộc dữ liệu, dịch vu, tính toán, xử lý và lựa chọn kết quả trả về cho lớp Presentation Layers.
    • Trong lớp này có các thành phần chính là Business Components, Business Entities, Service Interface.
    • Business Components : là những thành phần chính thưc hiện các nhiệm vụ mà Service Interface cung cấp, BC chịu trách nhiệm kiểm tra các rằng buộc logic(constraints), các nghiệp vụ(business rules).
    • Business Entities : là thưc thể mô tả đối tượng thông tin mà hệ thống xử lý. BE cũng được dùng để trao đổi thông tin giữa lớp Presentation và Data Access.
    • Service Interface : là giao diện lập trình để cung cấp cho lớp Presentation Layers sử dụng. Lớp Presentation chỉ cần biết các dịch vụ thông qua giao diện này mà không cần phải quan tâm đến bên trong lớp này được hiện thực như thế nào.
    5. Lớp Data Access Layers
    • Lớp này thực hiện các nhiệm vụ lưu trữ dữ liệu, truy xuất dữ liệu, xóa dữ liệu rác của ứng dụng.
    • Lớp này sử dụng các hệ quản trị database như : SQL Server, Oracle, LinQ,... để thực hiện các truy vấn dữ liệu.
    6. Mô hình 3 lớp vân hành như thế nào?
    • Giống như hình 1 và hinh 2 ở trên mô hình 3 lớp được xử lý tuần tự như sau:
    • Đầu tiên người dùng(User) giao tiếp với Presentation Layers để gửi thông tin, thông tin được kiểm tra, nếu được thông qua sẽ được chuyển yêu cầu xuống lớp Business Logic Layers.
    • Tại lớp Business Logic Layers thông tin được tính toán xử lý theo yêu cầu người dùng, nếu yêu cầu này không cần tới dữ liệu tại database thì sẽ được chuyển các xử lý này cho lớp Presentation Layers.
    • Nếu yêu cầu này cần tới lớp Database thì yêu cầu này được gửi tiếp cho lớp Data Access Layers.
    • Lớp Data Access Layers thao tác trên các lệnh đưa ra và trả kết quả cho lớp Business Logic Layers và lớp này trả kết quả lại cho lớp giao diện Presentation Layers.
    7. Xây dựng mô hình 3 lớp và xây dựng 1 ứng dụng hoàn chỉnh.
    • Connection database: lớp này đảm nhận nhiệm vụ kết nối cơ sở dữ liệu.
    vi-du-mo-hinh-3-lop-1.jpg
    • Data Access Layers: Lớp sử dụng các câu lệnh kết nối dữ liệu và các câu lệnh sql, linQ,... để kết nối vào cơ sở dữ liệu.
    vi-du-mo-hinh-3-lop-4.png
    • Object : sử lý các phương thức get, set và lớp này sử lý gắn kết dữ liệu giữa lớp Business Logic LayerPresentation Layer
    vi-du-mo-hinh-3-lop-5.png
    • Business Logic Layer : lớp xử lý dữ liệu, quản lý các logic, điều kiện, xử lý điều kiện.
    vi-du-mo-hinh-3-lop-7.jpg
    • Presentation Layer : Gọi là lớp giao diện, lớp này chỉ hiển thị dữ liệu ra ngoài cho người dùng.
    vi-du-mo-hinh-3-lop-8.png
     
    Cảm ơn đã xem bài:

    Mô hình 3 lớp là gì và cách sử dụng mô hình 3 lớp hiệu quả

    Chỉnh sửa cuối: 23/8/15
    Trần Văn Quân thích bài này.
  2. Trần Văn Quân
    Tham gia ngày:
    13/7/15
    Bài viết:
    17
    Đã được thích:
    1
    Điểm thành tích:
    3
    Giới tính:
    Nam
    @@ ngày xưa mình học cái môn này dốt nhất phải học lại 2 lần giờ cũng chẳng biết gì cả
     
  3. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,897
    Đã được thích:
    1,198
    Điểm thành tích:
    113
    Giới tính:
    Nam
    :D đi làm đúng tới mới rõ nó được, chứ lúc trước học cũng mù mờ lắm!
     
    Trần Văn Quân thích bài này.
  4. Trần Văn Quân
    Tham gia ngày:
    13/7/15
    Bài viết:
    17
    Đã được thích:
    1
    Điểm thành tích:
    3
    Giới tính:
    Nam
    thế là ad cũng giống em à :v học giỏi như anh em mình cần gì biết @@ về tấm bằng kê chuột thôi mà
     
  5. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,897
    Đã được thích:
    1,198
    Điểm thành tích:
    113
    Giới tính:
    Nam
    :D hahah học ở DH ko ra làm ko nổi, phải học thêm và tự học nhiều
     
  6. lycanh
    Tham gia ngày:
    16/10/15
    Bài viết:
    7
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Càng đọc càng thấy mình đi học như đi chơi. hix
     
  7. barcodevtn
    Tham gia ngày:
    20/10/15
    Bài viết:
    2
    Đã được thích:
    0
    Điểm thành tích:
    1
    đọc mà hok hiểu gì ah,cứ mò mãi chẳng ra,hihi, mình đúng là gà thiệt
     
  8. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,897
    Đã được thích:
    1,198
    Điểm thành tích:
    113
    Giới tính:
    Nam
    :D cái này mò lâu lắm bạn, phải tự mò và kết hợp với kiến thức ở trên mới nhớ ra được, ba cái này chỉ bạn biết liền sẽ không tự nhớ được đâu.
     
  9. anhnam1990
    Tham gia ngày:
    15/12/15
    Bài viết:
    7
    Đã được thích:
    0
    Điểm thành tích:
    6
    Giới tính:
    Nam
    seo du tút cái này mới với mình. Cám ơn oánh dấu đêm ngủ để tay lên trán ngẫm :)
     
  10. hitonely
    Tham gia ngày:
    9/12/15
    Bài viết:
    63
    Đã được thích:
    0
    Điểm thành tích:
    6
    Giới tính:
    Nam
    em mới học nhìn mấy cái mã lênh nhìn khó hiểu quá không biết là cái gì
     
  11. nguyennhim
    Tham gia ngày:
    21/9/16
    Bài viết:
    7
    Đã được thích:
    0
    Điểm thành tích:
    8
    Giới tính:
    Nữ
    Bài viết hay lắm. Hồi học rất thích lập trình theo kiểu 3cshop này. Đồ án với bài tập trên lớp làm đơn giản. Ra đi làm mới biết nó phức tạp hơn nhiều. @@
     
  12. i2b_2018
    Tham gia ngày:
    30/10/18
    Bài viết:
    34
    Đã được thích:
    0
    Điểm thành tích:
    6
    bài viết rất tốt. xin chân thành cảm ơn
     
  13. Daniel Pham
    Tham gia ngày:
    1/1/20
    Bài viết:
    18
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Day chinh la cai nhieu nguoi dang tim
     
  14. htnhatrang
    Tham gia ngày:
    13/12/19
    Bài viết:
    68
    Đã được thích:
    0
    Điểm thành tích:
    8
    Giới tính:
    Nam
    Loạn não không hề nhẹ