Cấu trỳc mẫu Mediator

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Vận dụng công nghệ hướng đối tượng sử dụng mẫu thiết kế để phát triển ứng dụng Tổ chức và quản lý hoạt động giao công việc Luận văn ThS. Công nghệ thông tin 1 01 10 (Trang 28 - 30)

Cỏc thành phần tham gia vào cấu trỳc mẫu Medicator:

Mediator: Định nghĩa cỏc hàm mà Client cú thể gọi

ConcreteMediator: Thực thi cỏc hàm định nghĩa trong Mediator. Lớp ConcreteMediator chứa danh sỏch cỏc Client nếu cú bất kỳ sự thay đổi hoặc cú một yờu cầu từ một Client nào đú đến cỏc Client cũn lại.

Colleague: Định nghĩa cỏc hàm mà Mediator cú thể gọi để thụng bỏo cho cỏc đối tƣợng của Mediator mỗi khi cú sự thay đổi.

ConcreteClient: Thực thi hoặc mở rộng cỏc hàm định nghĩa trong Client. Do cỏc Client liờn hệ với nhau thụng qua Mediator, nờn cỏc Client đều lƣu giữ đối tƣợng Mediator để thụng bỏo cho cỏc client cũn lại mỗi khi nú cú sự thay đổi hay cần thực hiện một yờu cầu nào đú.

1.3.8.3. Cỏc tỡnh huống ỏp dụng

Trong cỏc mụ hỡnh nghiệp vụ nảy sinh cỏc luật ràng buộc phức tạp kộo theo mối quan hệ và sự tƣơng tỏc giữa cỏc đối tƣợng trong hệ thống cũng phức tạp, ta dựng Mediator để kiểm soỏt những ràng buộc này.

Ta sử dụng mẫu Mediator khi muốn hệ thống bao gồm cỏc đối tƣợng đơn giản, tƣờng minh và cú thể kiểm soỏt.

Sử dụng mẫu Mediator khi muốn thay đổi hành vi của hệ thống và bố trớ lại cỏc lớp đối tƣợng mà khụng cần phải thay đổi mụ hỡnh nghiệp vụ.

1.3.8.4. Thuận lợi và hạn chế

Sử dụng mẫu Mediator làm cho từng thành phần riờng lẻ trong hệ thống sẽ trở nờn đơn giản hơn do chỳng khụng phải liờn lạc trực tiếp với nhau. Cỏc thụng tin cụ thể và cỏch thức giao tiếp giữa cỏc thành phần sẽ đƣợc xử lý trong Mediator.

Cỏch thức giao tiếp giữa cỏc thành phần hay nhúm cỏc thành phần sẽ đƣợc quản lý và bảo trỡ dễ dàng hơn vỡ nhiệm vụ đú đó đƣợc Mediator xử lý.

Việc tập trung cỏc hành vi của hệ thống trong Mediator làm cho hệ thống dễ bảo trỡ hơn. Chỳng ta cú thể tỏi sử dụng lại tất cả cỏc thành phần và lỳc cần thay đổi thỡ chỉ cần viết lại lớp Mediator mà thụi.

Việc tập trung quỏ nhiều tỏc vụ xử lý trong Mediator gõy ra khú khăn khi ta kiểm tra hay dũ lỗi chƣơng trỡnh. Việc theo vết cỏc lỗi trong Mediator đồng nghĩa với việc phải xem xột tất cả cỏc thành phần cú liờn quan.

Khi số lƣợng cỏc thành phần tham gia vào Mediator gia tăng thỡ Mediator sẽ bị phỡnh to và trở thành đối tƣợng cú cấu trỳc phức tạp nhất trong hệ thống. Do đú việc bảo trỡ và quản lý Mediator phức tạp và khú khăn hơn.

1.3.9. Mẫu Memento (mẫu lƣu giữ) 1.3.9.1. í nghĩa 1.3.9.1. í nghĩa

Mẫu này đƣợc sử dụng nhằm mục đớch khụng làm phỏ vỡ tớnh bao gúi (encapsulation) nhƣng vẫn lƣu giữ và thể hiện đƣợc trạng thỏi bờn trong đối tƣợng để sau này đối tƣợng cú thể phục hồi lại trạng thỏi trƣớc đú.

1.3.9.2. Mụ tả

Khi ta cần lƣu giữ trạng thỏi bờn trong của một đối tƣợng, chỳng ta phải lƣu giữ trạng thỏi của đối tƣợng ở một nơi nào đú để sau này cú thể phục hồi lại trạng thỏi trƣớc đú của đối tƣợng. Theo nguyờn tắc lập trỡnh hƣớng đối tƣợng, một đối tƣợng khụng bao giờ đƣợc phộp cho cỏc đối tƣợng khỏc truy xuất đến trạng thỏi bờn trong của nú (thành phần private). Nếu cho phộp truy xuất đến cỏc trạng thỏi bờn trong, nú sẽ phỏ vỡ tớnh bao gúi của đối tƣợng, làm cho ứng dụng khú tin cậy và khú mở rộng sau này.

Mẫu Momento đƣợc thiết kế để giải quyết vấn đề này. Một Memento là một đối tƣợng đƣợc tạo ra để lƣu giữ cỏc thành phần Private của đối tƣợng khỏc (gọi là đối

tƣợng nguồn (Originator) của Memento). Thao tỏc Phục hồi (Undo) sẽ yờu cầu một đối tƣợng nguồn của Memento khi nú cần kiểm tra trạng thỏi của đối tƣợng. Đối tƣợng nguồn Originator sẽ kớch hoạt Memento với thụng tin mụ tả trạng thỏi hiện tại của nú. Chỉ đối tƣợng nguồn Originator mới cú thể lƣu giữ và lấy thụng tin từ Memento, cũn cỏc đối tƣợng khỏc khụng cú quyền này.

1.3.9.3. Cấu trỳc mẫu

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Vận dụng công nghệ hướng đối tượng sử dụng mẫu thiết kế để phát triển ứng dụng Tổ chức và quản lý hoạt động giao công việc Luận văn ThS. Công nghệ thông tin 1 01 10 (Trang 28 - 30)

Tải bản đầy đủ (PDF)

(146 trang)