Kiến Trúc 3 Lớp Và MVC Pattern (Phần 2) - Blog Yoyo 1001
Có thể bạn quan tâm
Chuyển đến nội dung chính
Kiến trúc 3 lớp và MVC pattern (Phần 2)
So sánh với MVC
Xem thêm phần 1 : Kiến trúc 3 lớp và MVC pattern Phương pháp thiết kế MVC bắt nguồn từ việc phát triển giao diện người dùng trong ngôn ngữ lập trình Smalltalk, đây là một trong những phương pháp thiết kế thành công nhất trong các phương pháp thiết kế hướng đối tượng. Hiện nay, MVC được dùng rộng rãi trong nhiều hệ thống phần mềm. - Model: Model được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu vào các kho chứa dữ liệu. Tất cả các nghiệp vụ logic được thực thi ở Model. Dữ liệu vào từ người dùng sẽ thông qua View đến Controller và được kiểm tra ở Model trước khi lưu vào cơ sở dữ liệu. Việc truy xuất, xác nhận, và lưu dữ liệu là một phần của Model. Do có 2 vai trò tương đối tách biệt cho nên một Model thường được tách thành các lớp có các domain xử lý khác biệt: + Business logic thường là xử lý rule hay policy của nghiệp vụ cũng như business workflows. + Domain data: Cung cấp/lưu trữ dữ liệu và việc chuyển đổi dữ liệu thành các dạng khác nhau theo yêu cầu - View: View hiển thị các thông tin cho người dùng của ứng dụng và được giao nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gửi đi các yêu cầu đến controller, sau đó là nhận lại các phản hồi từ controller và hiển kết quả cho người dùng. Các trang HTML, JSP, các thư viện thẻ và các file nguồn là một phần của thành phần View. Trong các web framework, nó gồm 2 phần chính: + Template file định nghĩa cấu trúc và cách thức trình bày dữ liệu cho user. Ví dụ như layout, color, windows … + Logic xử lý cách áp dụng dữ liệu vào cấu trúc trình bày. Logic này có thể bao gồm việc kiểm tra định dạng dữ liệu, chuyển đổi định dạng dữ liệu sang một sạng dữ liệu trung gian, lựa chọn một cấu trúc hiện thị phù hợp. - Controller: controller đảm nhiệm việc cập nhật bộ phận hiển thị (View) khi cần thiết. Bộ điều khiển này nhận dữ liệu nhập từ người dùng, truy xuất các thông tin cần thiết từ mô hình trong (Model), và cập nhật thích hợp phần hiển thị (View). Giao diện với người sử dụng phần mềm được thiết lập nhờ sự tương tác qua lại giữa View và Controller: hai bộ phận này chính là phần trình bày bên ngoài của đối tượng biểu diễn bên trong. Martin Fowler chia MVC thành hai phiên bản là Passive View và Supervising Controller. Trong mẫu Passive View, thành phần View được loại bỏ hoàn toàn các xử lý logic và tương tác đến Model. Thay vì vậy, nó chuyển giao các xử lý cho Controller đảm trách. Controller đảm nhận tương tác đến Model và cập nhật View khi có thay đổi từ Model. Controller là thành phần trung gian liên lạc giữa View và Model. Trong mẫu Supervising Controller, View đầu tiên bắt lấy các sự kiện và sau đó chuyển giao cho Controller xử lý. Để cập nhật thay đổi từ Model, View dùng data-binding và Observer Pattern cho các xử lý đơn giản còn đối với các xử lý phức tạp sẽ nhờ đến Controller So sánh MVC và 3-layer/tier: Giống nhau: - Cả hai đều để tách rời programming core/business logic ra khỏi những phụ thuộc về tài nguyên và môi trường. - Trong một ứng dụng nhỏ, MVC thể hiện thế nào? Presentation thể hiện giống như chức năng của View và Controller. Business và Database thể hiện giống như chức năng của Model. Như thế nhìn ở góc độ này, thì MVC tương đương với 3-layer (tất nhiên có chồng chéo như hình vẽ) Khác nhau: Trong 3-layers, quá trình đi theo chiều dọc, bắt đầu từ Presentation, sang BL, rồi tới Data, và từ Data, chạy ngược lại BL rồi quay ra lại Presentation. Còn trong mẫu Supervising Controller, dữ liệu được nhận bởi View, View sẽ chuyển cho Controller cập nhật vào Model, rồi sau đó dữ liệu trong Model sẽ được đưa lại cho View mà không thông qua Controller, do vậy luồng xử lý này có hình tam giác. Gửi bởi MSDNUser Interface Process Components Complex user interfaces often require many highly complex forms. To increase reusability, maintainability, and extensibility, you can create a separate user interface process (UIP) component to encapsulate dependencies between forms and the logic associated with navigating between them. You can apply the same concept to the dependencies, validation, and navigation between components of a single form. These UIP components are typically custom components that are based on design patterns such as Front Controller, Application Controller, and Mediator. The interaction between UI and UIP components often follows the Model-View-Controller or Presentation-Abstraction-Controller pattern. "Như vậy theo hướng dẫn của MSDN thì MVC thuộc UI Process Components trong Presentation Layer, chứ không phải là cách chia toàn bộ một application ra thành 3 layer là Model – View – Controller." congdongcvietThông thường khi áp dụng thì người ta kết hợp cả 2: MVC được áp dụng bên phía Client. Sau đó 3 tiers được áp dụng như bình thường trên hệ thống client-server. Việc có sử dụng hay là có bọc lẫn nhau giữa MVC và 3-tier là không hoàn toàn bắt buộc, ta có thể sử dụng MVC mà không cần đến 3-tier (với những ứng dụng nhỏ)
Nhận xét
Đăng nhận xét
Bài đăng phổ biến từ blog này
Kinh nghiệm tạo biểu đồ Use Case
Theo đặc tả UML thì một biểu đồ use case (UC) là “biểu đồ mô tả mối quan hệ giữa các tác nhân (actor) và các use case trong một hệ thống”. Biểu đồ use case thường được sử dụng để: Cung cấp cách nhìn tổng quan về toàn bộ hoặc một phần các yêu cầu chức năng của một hệ thống hoặc một tổ chức dưới dạng một mô hình cô đọng (Constantine and Lockwood 1999; Ambler 2001) hay một mô hình tác nghiệp (Rational Corporation 2002) Trao đổi về phạm vi của một dự án phát triển (cái này theo tôi thấy rất quan trọng, thường người lập trình hay phải làm nhiều hơn những gì đã trao đổi với khách hàng) Mô hình hóa kết quả phân tích các yêu cầu chức năng dưới dạng một mô hình use case hệ thống (Cockburn 2001; Ambler 2001) Một mô hình use case là tổ hợp của một hay nhiều biểu đồ UC và tất cả các tài liệu hỗ trợ như các đặc tả UC và các định nghĩa các tác nhân. Trong hầu hết các mô hình UC thì các đặc tả UC thường là nhân tố cơ bản nhất đóng vai trò hỗ trợ cho tính liên kết giữa các y... Read more »Cấu hình Pes 2013 để chơi trên máy card màn hình onboard
- Cài đặt Pes 2013 - Cài đặt Patch Edit - Tải KitServer 13 về. Link download: Pes-Patch , MediaFire - Giải nén và chép vào thư mục của PES (ví dụ: C:\Program Files\KONAMI\Pro Evolution Soccer 2013) - Vào thư mục \kitserver13, chạy file manager.exe, cấu hình như sau: Chọn pes2013.exe Read more »PHÉP TOÁN XOR
Hôm nay ngẫu hứng tự nhiên thấy phép XOR hơi hay hay, nên viết lên mọi người tham khảo nhé. Còn gọi là hàm không tương đương, Hàm cộng modul-2, Hay là phép Cộng có loại trừ. Phương trình : Phương trình hàm XOR 2 biến được định nghĩa như sau : F(AB) = A B + A B = A Å B F = 1 khi tất cả các biến đầu vào có giá trị khác nhau. F = 0 khi các biến vào có giá trị giống nhau. Bảng chân lý : bảng chân lý hàm XOR có dạng như sau: A B A Å B 0 0 0 0 1 1 1 0 1 1 1 0 Trong phép hoán vị giá trị của 2 biến a,b dùng thuật toán xor đó. Read more »Phần mềm hỗ trợ vẽ bản đồ tư duy trên máy tính
Với cách take note trên giấy hay trong sổ sách thông thường, tuần tự từ trên xuống dưới, có thể thấy sự khó khăn khi muốn biết được các ý chính, biết được mối quan hệ phân cấp giữa các ý. Giống như bạn đọc email trong các mail group, nếu các email ko được phân cấp theo từng thread, mà cứ để tuần tự, sẽ thấy việc theo dõi khó khăn đến mức nào. Cách tổ chức hiệu quả nhất có lẽ là theo cây phân cấp (hierarchical). Mind map là một dạng như thế, Mind mapping dùng phần mềm có nhiều tiện lợi hơn so với dùng tay: Read more »Power Designer 12.5
Đây là phần mềm hỗ trợ môn Phân tích thiết kế hẹ thống thông tin. Bạn nhớ copy file patch vào chung thư mục cài đặt, rồi nhấp đúp chọn patch, sẽ được bản full. Link download: Part 1 Part 2 Read more »Nhãn
- .NET framework
- ADO.NET
- AI
- AJAX
- Android
- ASP.NET
- Ba lô du lịch
- BIOS
- C/C++
- C#
- Các bài toán khó
- Các câu chuyện toán học
- Các nhà toán học
- Cài đặt
- Câu chuyện khoa học
- Câu chuyện toán học
- CD/DVD Training
- Chuyện lạ
- Chứng khoán
- Cloud
- CMS
- Công cụ hỗ trợ
- Công cụ lập trình
- Công nghệ thông tin
- Cơ sở dữ liệu
- CSS
- Data
- Data structures and Algorithms
- Development Tools
- DI
- Download
- DRM
- Đầu tư
- Đồ họa
- Ebooks
- Flash
- Game chiến đấu
- Game chiến thuật
- Game cũ mà hay
- Game mini
- Game xây dựng
- Giải trí
- giáo trình
- Giới thiệu
- Graphics
- Hệ điều hành
- Html
- Hướng dẫn
- IDE
- iOS
- Java
- JavaScript
- JQuery
- Khái niệm
- Khám phá
- Khoa học
- Khoa học kỹ thuật
- Khoa học tự nhiên
- Kiến trúc
- Kiến trúc máy tính
- Kinh nghiệm
- Kinh tế học
- Lập trình
- Learning software
- Lịch sử toán học
- Lifestyle
- LinQ
- Linux
- Lý thuyết trò chơi
- Mã nguồn Mở
- Microsoft
- mindmap
- Mobile
- MultiMedia
- Multithread
- MVC
- Net
- Network
- Nghệ thuật
- Những người nổi tiếng
- Office
- OOP
- Open Source
- ORM
- Pascal
- Phân tích thiết kế HTTT
- PHP
- Project Management
- Quản lý công việc
- Quản lý dự án
- Quản trị mạng
- Quan trọng
- Security
- Silverlight
- Smartphone
- Software
- Software engineering
- Special
- SQL
- SQL Server
- Strategy
- system tools
- Tài liệu nghiên cứu
- Tản mạn cuối tuần
- Tản mạn về lập trình
- Tâm lý học
- Templates
- Test
- Thảo luận
- Theo dòng lịch sử
- Thế giới phần cứng
- Thiên tài
- Thiết kế web
- Thủ thuật
- Thủ thuật blog
- Thủ thuật Internet
- Thủ thuật máy tính
- Thuật toán
- Tiện ích Internet
- Tiểu sử
- Toán học
- Trí tuệ nhân tạo
- Trình duyệt web
- Trò chơi
- Tutorials
- Tư duy
- Tư duy toán học
- Unix
- UX
- ứng dụng
- văn hoá
- WCF
- Website học tập
- Windows
- Windows Service
- WPF
- XML
- Xu hướng công nghệ
Chú ý
- CD/DVD Training
- Ebooks
- Nhật ký học tập
- Phần mềm cơ bản
Liên kết
- Tuong.me
- Fshare vip
- Toán học cho mọi người
- Toán học tươi đẹp
- Amitabha-Phật giáo
- Blog toán học Việt Nam
- Chia sẻ lập trình .NET
- English is your life
- Helping your build a better blog
- HTML Dog
- Link Never Die
- Maths 4 phycis and more...
Từ khóa » Sự Khác Nhau Giữa Mô Hình 3 Lớp Và Mvc
-
Phân Biệt Mô Hình 3 Layer (3 Lớp) Và MVC (Model-View-Controller)
-
Phân Biệt Mô Hình MVC Và Mô Hình 3 Lớp? - Phỏng Vấn IT
-
Mô Hình 3 Lớp Và Mvc
-
Mô Hình 3 Lớp Và Mvc - .vn
-
Sự Khác Biệt Giữa Mô Hình MVC Và 3 Lớp
-
So Sánh Mvc Và Mô Hình 3 Lớp - 123doc
-
Tìm Hiểu Về Mô Hình 3 Lớp (3 Layer) - Viblo
-
Phân Biệt Mô Hình 3 Layer Và MVC
-
Mô Hình 3 Lớp (three-layer) Có Gì Hay? - TopDev
-
Tổng Quan Mô Hình MVC, So Sánh Mô Hình MVC Và Mô Hình 3 Lớp
-
Điểm Khác Nhau Giữa Mô Hình MVC Và 3 Layer - Cộng đồng C Việt
-
Điểm Giống Và Khác Nhau Giữa 2 Mô Hình MVC Và 3 LAYER
-
Giới Thiệu Mô Hình 3 Lớp Trong C# - Viblo