Professional Documents
Culture Documents
SE14
SE14
SOICT
Trường Công nghệ Thông tin và Truyền thông
Machine Translated by Google
3
Machine Translated by Google
Thật tốt khi thiết kế một chương trình để sử dụng lại các thành phần hiện có. Điều này có thể dẫn đến
phần mềm tốt hơn với chi phí thấp hơn.
tin cậy của các thành phần trưởng thành • Chia sẻ chi phí bảo
trì
• Khó khăn trong việc tìm kiếm các thành phần thích hợp • Các
thành phần có thể không phù hợp với ứng dụng • Kiểm soát chất
4
Machine Translated by Google
• Không thể loại bỏ tất cả các lỗi khỏi phần mềm, ngay cả phần
mềm đã được thiết lập tốt
• BẢO TRÌ
• Phần mềm có được hỗ trợ bởi một tổ chức sẽ tiếp tục bảo trì trong thời gian dài
không?
5
Machine Translated by Google
Thiết kế phần mềm nên lường trước những thay đổi có thể xảy ra trong hệ thống trong
vòng đời của nó
• Linh kiện bị thay thế do nhà cung cấp ngừng kinh doanh
• Các thành phần từ nguồn khác cung cấp chức năng, hỗ trợ, giá cả tốt hơn, v.v.
• Điều này có thể áp dụng cho các thành phần mã nguồn mở hoặc do nhà cung cấp cung cấp
6
Machine Translated by Google
Thiết kế phần mềm nên lường trước những thay đổi có thể xảy ra trong hệ thống
trong vòng đời của nó
7
Machine Translated by Google
Thiết kế phần mềm nên lường trước những thay đổi có thể xảy ra trong hệ thống
trong vòng đời của nó
• Khi hệ thống đi vào sản xuất, thông thường sẽ bộc lộ cả điểm yếu
và cơ hội để có thêm chức năng và cải tiến
đến thiết kế giao diện người dùng
• Ví dụ, trong ứng dụng hướng dữ liệu, gần như chắc chắn sẽ có các yêu cầu về
báo cáo bổ sung và cách phân tích dữ liệu
Yêu cầu cải tiến thường là dấu hiệu của một hệ thống thành công.
Khách hàng nhận ra những khả năng tiềm ẩn
số 8
Machine Translated by Google
Thiết kế phần mềm nên lường trước những thay đổi có thể xảy ra trong hệ thống
trong vòng đời của nó
• Hầu hết các miền ứng dụng thay đổi liên tục •
Do cơ hội kinh doanh • Thay đổi
bên ngoài (chẳng hạn như luật mới)
• Nhóm người dùng mới
• Công nghệ mới
• Khó có thể triển khai một hệ thống hoàn toàn mới khi miền ứng dụng thay đổi
Điều này có thể liên quan đến việc tái cấu trúc trên diện rộng, nhưng điều quan trọng là phải tái sử dụng
mẫu thiết kế
• Mẫu thiết kế là các mẫu thiết kế có thể được sử dụng trong nhiều hệ thống
khác nhau
• Chúng đặc biệt thích hợp trong các tình huống mà các lớp có khả năng được sử
dụng lại trong một hệ thống phát triển theo thời gian
Nguồn:
10
Machine Translated by Google
• Các mẫu thiết kế sử dụng rộng rãi tính kế thừa và trừu tượng
các lớp học
• Các lớp có thể được định nghĩa theo các lớp khác thông qua kế thừa
• Lớp tổng quát hóa – siêu lớp
• Các siêu lớp chứa các phương thức trừu tượng và được định nghĩa sao cho các lớp con cụ
thể mở rộng chúng bằng cách triển khai các phương thức trừu tượng
• Có thể không có các phương thức trừu tượng, trong trường hợp này, mục đích là để ngăn chặn
tạo các thể hiện
• Các lớp giao diện là các lớp trừu tượng nhưng dành cho đa kế thừa và để chỉ định một
giao thức chuẩn cho tất cả các lớp thực hiện chúng
11
Machine Translated by Google
12
Machine Translated by Google
13
Machine Translated by Google
14
Machine Translated by Google
Phái đoàn
• Một lớp được cho là ủy quyền cho một lớp khác nếu nó thực hiện một thao tác
bằng cách gửi lại một thông báo cho một lớp khác.
• Ủy quyền là một giải pháp thay thế cho kế thừa có thể được sử dụng khi dự kiến
sử dụng lại.
15
Machine Translated by Google
Ủy nhiệm (2)
Ủy quyền giống như kế thừa được thực hiện thủ công thông qua thành phần đối tượng
16
Machine Translated by Google
Ủy thác (3) - Ví dụ
• Nghiên cứu tình huống: hành vi phát ra âm thanh của mèo - “meo” và “gầm”
• Làm thế nào để soạn hành vi của Cat trong thời gian chạy?
17
Machine Translated by Google
Ủy thác (4) - Ví dụ
• Ủy quyền giúp dễ dàng soạn các hành vi trong thời gian chạy
18
Machine Translated by Google
19
Machine Translated by Google
20
Machine Translated by Google
ký hiệu
21
Machine Translated by Google
22
Machine Translated by Google
có vấn đề
23
Machine Translated by Google
24
Machine Translated by Google
• Bối cảnh duy trì tham chiếu đến một trong các chiến lược cụ thể thông
qua giao diện chiến lược
• Giao diện Chiến lược là chung cho tất cả các chiến lược cụ thể. Nó khai báo các phương
thức được Context sử dụng
• Chiến lược cụ thể thực hiện các biến thể khác nhau của thuật toán
bối cảnh sử dụng
• Khách hàng tạo một đối tượng chiến lược cụ thể và chuyển nó tới
Bối cảnh
25
Machine Translated by Google
• Phương thức thanh toán trong ứng dụng thương mại điện tử
• Có nhiều phương thức thanh toán khác nhau trong một ứng dụng thương mại điện tử.
Sau khi chọn sản phẩm để mua, khách hàng chọn phương thức thanh toán:
Paypal hoặc Thẻ tín dụng.
26
Machine Translated by Google
27
Machine Translated by Google
28
Machine Translated by Google
Mẫu
Người đăng ký-Nhà xuất bản
29
Machine Translated by Google
có vấn đề
sát
• Người nghe
30
Machine Translated by Google
31
Machine Translated by Google
• Thêm cơ chế đăng ký cho nhà xuất bản để đối tượng riêng lẻ có thể đăng ký hoặc hủy
đăng ký khỏi luồng sự kiện sắp tới
• người đăng ký: danh sách người đăng ký của nhà xuất bản
32
Machine Translated by Google
33
Machine Translated by Google
Mẫu
Cấu trúc (3)
Machine Translated by Google
• Bất cứ khi nào người dùng thực hiện một giao dịch mua mới, họ sẽ nhận
được thông báo về đơn đặt hàng.
35
Machine Translated by Google
Giải pháp
36
Machine Translated by Google
37
Machine Translated by Google
có vấn đề
38
Machine Translated by Google
• Khi một đơn đặt hàng mới được tạo, người dùng nên xem trạng thái của đơn đặt hàng.
đặt hàng
• Khi trạng thái của một lệnh bị thay đổi, một số hành động sẽ bị kích hoạt!
39
Machine Translated by Google
40
Machine Translated by Google
sơ đồ máy
41
Machine Translated by Google
Giải pháp
42
Machine Translated by Google
43