Kiến trúc hướng tương tác
Mục tiêu chính của kiến trúc hướng tương tác là tách sự tương tác của người dùng khỏi sự trừu tượng hóa dữ liệu và xử lý dữ liệu nghiệp vụ. Kiến trúc phần mềm hướng tương tác phân tách hệ thống thành ba phân vùng chính -
Data module - Mô-đun dữ liệu cung cấp sự trừu tượng hóa dữ liệu và tất cả logic nghiệp vụ.
Control module - Mô-đun điều khiển xác định luồng điều khiển và các hành động cấu hình hệ thống.
View presentation module - Mô-đun trình bày View chịu trách nhiệm trình bày bằng hình ảnh hoặc âm thanh của đầu ra dữ liệu và nó cũng cung cấp một giao diện để người dùng nhập liệu.
Kiến trúc hướng tương tác có hai phong cách chính: Model-View-Controller (MVC) và Presentation-Abstraction-Control(PAC). Cả MVC và PAC đều đề xuất phân tách ba thành phần và được sử dụng cho các ứng dụng tương tác như ứng dụng web với nhiều cuộc nói chuyện và tương tác của người dùng. Họ khác nhau về quy trình kiểm soát và tổ chức. PAC là một kiến trúc phân cấp dựa trên tác nhân nhưng MVC không có cấu trúc phân cấp rõ ràng.
Model-View-Controller (MVC)
MVC phân tách một ứng dụng phần mềm nhất định thành ba phần được kết nối với nhau để giúp tách các đại diện nội bộ của thông tin khỏi thông tin được trình bày hoặc chấp nhận từ người dùng.
Mô-đun | Chức năng |
---|---|
Mô hình | Đóng gói dữ liệu cơ bản và logic nghiệp vụ |
Bộ điều khiển | Phản hồi hành động của người dùng và hướng luồng ứng dụng |
Lượt xem | Định dạng và trình bày dữ liệu từ mô hình cho người dùng. |
Mô hình
Mô hình là thành phần trung tâm của MVC quản lý trực tiếp dữ liệu, logic và các ràng buộc của một ứng dụng. Nó bao gồm các thành phần dữ liệu, duy trì dữ liệu ứng dụng thô và logic ứng dụng cho giao diện.
Nó là một giao diện người dùng độc lập và nắm bắt hành vi của miền sự cố ứng dụng.
Nó là phần mềm mô phỏng miền cụ thể hoặc thực hiện cấu trúc trung tâm của ứng dụng.
Khi có sự thay đổi trong trạng thái của nó, nó đưa ra thông báo cho khung nhìn liên quan của nó để tạo ra đầu ra được cập nhật và bộ điều khiển để thay đổi bộ lệnh có sẵn.
Lượt xem
Dạng xem có thể được sử dụng để biểu diễn bất kỳ đầu ra thông tin nào ở dạng đồ họa như sơ đồ hoặc biểu đồ. Nó bao gồm các thành phần trình bày cung cấp các biểu diễn trực quan của dữ liệu
Chế độ xem yêu cầu thông tin từ mô hình của họ và tạo ra một biểu diễn đầu ra cho người dùng.
Có thể có nhiều chế độ xem của cùng một thông tin, chẳng hạn như biểu đồ thanh để quản lý và chế độ xem dạng bảng cho kế toán.
Bộ điều khiển
Bộ điều khiển chấp nhận một đầu vào và chuyển đổi nó thành các lệnh cho mô hình hoặc chế độ xem. Nó bao gồm các thành phần xử lý đầu vào xử lý đầu vào từ người dùng bằng cách sửa đổi mô hình.
Nó hoạt động như một giao diện giữa các mô hình và khung nhìn liên quan và các thiết bị đầu vào.
Nó có thể gửi các lệnh tới mô hình để cập nhật trạng thái của mô hình và đến khung nhìn liên quan của nó để thay đổi cách trình bày mô hình của khung nhìn.
MVC - Tôi
Đây là một phiên bản đơn giản của kiến trúc MVC trong đó hệ thống được chia thành hai hệ thống con -
The Controller-View - Chế độ xem bộ điều khiển hoạt động như giao diện đầu vào / đầu ra và quá trình xử lý được thực hiện.
The Model - Mô hình cung cấp tất cả dữ liệu và dịch vụ miền.
MVC-I Architecture
Mô-đun mô hình thông báo cho mô-đun chế độ xem bộ điều khiển về mọi thay đổi dữ liệu để mọi hiển thị dữ liệu đồ họa sẽ được thay đổi tương ứng. Bộ điều khiển cũng thực hiện hành động thích hợp khi thay đổi.
Kết nối giữa chế độ xem bộ điều khiển và mô hình có thể được thiết kế theo một mẫu (như thể hiện trong hình trên) đăng ký-thông báo theo đó chế độ xem bộ điều khiển đăng ký với mô hình và mô hình thông báo cho chế độ xem bộ điều khiển về bất kỳ thay đổi nào.
MVC - II
MVC – II là một cải tiến của kiến trúc MVC-I trong đó mô-đun khung nhìn và mô-đun bộ điều khiển tách biệt. Mô-đun mô hình đóng một vai trò tích cực như trong MVC-I bằng cách cung cấp tất cả các chức năng cốt lõi và dữ liệu được cơ sở dữ liệu hỗ trợ.
Mô-đun khung nhìn trình bày dữ liệu trong khi mô-đun bộ điều khiển chấp nhận yêu cầu đầu vào, xác thực dữ liệu đầu vào, khởi tạo mô hình, khung nhìn, kết nối của chúng và cũng gửi tác vụ.
MVC-II Architecture
Ứng dụng MVC
Các ứng dụng MVC có hiệu quả đối với các ứng dụng tương tác cần nhiều chế độ xem cho một mô hình dữ liệu duy nhất và dễ dàng bổ sung chế độ xem giao diện mới hoặc thay đổi.
Các ứng dụng MVC thích hợp cho các ứng dụng có sự phân chia rõ ràng giữa các mô-đun để các chuyên gia khác nhau có thể được chỉ định làm việc đồng thời trên các khía cạnh khác nhau của các ứng dụng đó.
Advantages
Có nhiều bộ công cụ khung của nhà cung cấp MVC có sẵn.
Nhiều chế độ xem được đồng bộ hóa với cùng một mô hình dữ liệu.
Dễ dàng cắm thêm các giao diện mới hoặc thay thế.
Được sử dụng để phát triển ứng dụng nơi các chuyên gia chuyên môn về đồ họa, chuyên gia lập trình và chuyên gia phát triển cơ sở dữ liệu đang làm việc trong nhóm dự án được thiết kế.
Disadvantages
Không phù hợp với các ứng dụng hướng đến tác nhân như ứng dụng di động và rô bốt tương tác.
Nhiều cặp bộ điều khiển và chế độ xem dựa trên cùng một mô hình dữ liệu làm cho bất kỳ thay đổi mô hình dữ liệu nào trở nên đắt đỏ.
Sự phân chia giữa Chế độ xem và Bộ điều khiển không rõ ràng trong một số trường hợp.
Trình bày-Tóm tắt-Kiểm soát (PAC)
Trong PAC, hệ thống được sắp xếp thành một hệ thống phân cấp gồm nhiều tác nhân hợp tác (bộ ba). Nó được phát triển từ MVC để hỗ trợ yêu cầu ứng dụng của nhiều tác nhân ngoài các yêu cầu tương tác.
Mỗi tác nhân có ba thành phần -
The presentation component - Định dạng hình ảnh và âm thanh trình bày dữ liệu.
The abstraction component - Truy xuất và xử lý dữ liệu.
The control component - Xử lý nhiệm vụ như luồng điều khiển và giao tiếp giữa hai thành phần còn lại.
Kiến trúc PAC tương tự như MVC, theo nghĩa là mô-đun trình bày giống như mô-đun xem của MVC. Mô-đun trừu tượng trông giống như mô-đun mô hình của MVC và mô-đun điều khiển giống như mô-đun điều khiển của MVC, nhưng chúng khác nhau về luồng điều khiển và tổ chức.
Không có kết nối trực tiếp giữa thành phần trừu tượng và thành phần trình bày trong mỗi tác nhân. Thành phần kiểm soát trong mỗi tác nhân phụ trách liên lạc với các tác nhân khác.
Hình sau đây cho thấy một sơ đồ khối cho một tác nhân duy nhất trong thiết kế PAC.
PAC với nhiều đại lý
Trong PAC bao gồm nhiều đại lý, đại lý cấp cao nhất cung cấp dữ liệu cốt lõi và lôgic kinh doanh. Các tác nhân cấp dưới xác định dữ liệu và bản trình bày cụ thể chi tiết. Cấp trung gian hoặc đại lý cấp trung đóng vai trò là người điều phối các đại lý cấp thấp.
Mỗi đại lý có công việc được giao cụ thể riêng.
Đối với một số đại lý cấp trung, các bản trình bày tương tác là không bắt buộc, vì vậy chúng không có thành phần trình bày.
Thành phần điều khiển là bắt buộc đối với tất cả các tác nhân mà thông qua đó tất cả các tác nhân giao tiếp với nhau.
Hình sau cho thấy Nhiều Đại lý tham gia PAC.
Applications
Hiệu quả cho một hệ thống tương tác trong đó hệ thống có thể được phân tách thành nhiều tác nhân hợp tác theo cách phân cấp.
Hiệu quả khi mối liên kết giữa các tác nhân dự kiến sẽ lỏng lẻo để những thay đổi trên một tác nhân không ảnh hưởng đến những người khác.
Hiệu quả cho hệ thống phân tán nơi tất cả các tác nhân được phân phối xa và mỗi tác nhân trong số chúng có các chức năng riêng với dữ liệu và giao diện tương tác.
Thích hợp cho các ứng dụng có các thành phần GUI phong phú, nơi mỗi thành phần trong số chúng giữ dữ liệu hiện tại và giao diện tương tác của riêng mình và cần giao tiếp với các thành phần khác.
Ưu điểm
Hỗ trợ đa tác vụ và đa chế độ xem
Hỗ trợ khả năng tái sử dụng và khả năng mở rộng của tác nhân
Dễ dàng cắm tác nhân mới hoặc thay đổi tác nhân hiện có
Hỗ trợ đồng thời trong đó nhiều tác nhân đang chạy song song trong các luồng khác nhau hoặc các thiết bị hoặc máy tính khác nhau
Nhược điểm
Chi phí do cầu nối kiểm soát giữa trình bày và tóm tắt và giao tiếp các kiểm soát giữa các tác nhân.
Khó xác định đúng số lượng đại lý vì sự liên kết lỏng lẻo và tính độc lập cao giữa các đại lý.
Việc tách biệt hoàn toàn việc trình bày và trừu tượng hóa bằng cách kiểm soát trong mỗi tác nhân tạo ra sự phức tạp trong phát triển vì thông tin liên lạc giữa các tác nhân chỉ diễn ra giữa các kiểm soát của các tác nhân