Tải bản đầy đủ (.pdf) (21 trang)

Các design class và subsystem

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (166.57 KB, 21 trang )

PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
21
Architectural Design Topics
w Các khái niệm then chốt
w Các cơ chế thiết kế và cài đặt
w Các Design Class và Subsystem
w Các khả năng tái sử dụng
w Tổ chức mô hình thiết kế
w Checkpoints
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
22
Analysis Classes Design Elements
Quan hệ nhiều nhiều
Từ Analysis Classes đến Design Elements
<<boundary>>
<<control>>
<<entity>>
<<boundary>>
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
23
Xác đònh các Design Class
w Analysis class ánh xạ thẳng thành design class
nếu:
§ Đơn giản
§ Biểu diễn một single logical abstraction
w Các analysis class phức tạp hơn có thể:
§ Tách thành nhiều class
§ Trở thành một package


§ Trở thành một subsystem (sẽ khảo sát sau)
§ Một tổ hợp bất kỳ …
w Các analysis class đơn giản có thể trở thành
một design class
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
24
PackageB
+Class B1
-Class B2
PackageA
Class A1
Class A3
Class A2
A
B
Public visibility
Private visibility
Chỉ các public class
mới được tham chiếu
từ bên ngoài package
sở hữu nó
Nguyên lý OO : Encapsulation
Các phụ thuộc Package: Tính khả kiến của các ptử
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
25
w Một dạng trung gian giữa package (có thể chứa
các phần tử khác) và class (có hành vi)
w Hiện thực hoá 1 hoặc nhiều interface đònh

nghóa hành vi của nó
<<subsystem>>
Subsystem Name
Interface Subsystem
<<subsystem>>
Subsystem Name
Interface
Realization (Canonical form)
Realization (Elided form)
<<interface>>
Interface
Nhắc lại: Subsystem và Interface
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
26
<<subsystem>>
SubsystemA
InterfaceK
<<Interface>>
X()
W()
<<subsystem>>
SubsystemB
Class B1
W()
Y()
Class B2
X()
Class B3
Z()

Class A1
W()
Class A2
X()
Subsystem và Interface (tt.)
w Các Subsystem:
§ Hoàn toàn đóng gói hành vi
§ Thể hiện một khả năng hoàn toàn độc lập, với các
interface rõ ràng (có tiềm năng tái sử dụng)
§ Mô hình hoá nhiều phương án cài đặt khác nhau
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
27
A
<<subsystem>>
PackageB
Class B1
Class B2
Client Class
Encapsulation là mấu chốt !
So sánh Package với Subsystem
w Subsystem cung cấp hành vi, package không
w Subsystem hoàn toàn đóng gói nội dung của
nó, package thì không
w Subsystem dễ dàng được thay thế
PT & TK Hướng đối tượng – Thiết kế kiến trúc
Dương Anh Đức
28
Các Subsystem nâng cao mức độ trừu tượng
Cách dùng Subsystem

w Subsystem có thể dùng để chia system thành các phần độc lập
về:
§ Thứ tự, cấu hình, hoặc vận chuyển
§ Phát triển, chừng nào mà interface còn chưa thay đổi
§ Triển khai trên các node tính toán phân tán
§ Thay đổi mà không phá vỡ các phần khác của system
w Subsystem còn có thể dùng để:
§ Phần chia system thành các đơn vò cung cấp độ bảo mật
cao đối với các tài nguyên then chốt
§ Biểu diễn các sản phẩm có sẵn hoặc các system nằm ngoài
bản thiết kế (chẳng hạn như các component)

×