Skip to the content
Gamma, Helm, Johnson, Vlissides: Các mẫu thiết kế (Design Patterns)
- Cấu trúc thời gian chạy của chương trình hướng đối tượng thường ít giống với cấu trúc mã của nó.
- Cấu trúc mã bị đóng băng tại thời điểm biên dịch; nó bao gồm các lớp trong các mối quan hệ kế thừa cố định.
- Cấu trúc thời gian chạy bao gồm các mạng lưới các đối tượng giao tiếp thay đổi nhanh chóng.
- Rõ ràng là mã sẽ không tiết lộ mọi thứ về cách một hệ thống sẽ hoạt động. [GOF tr.22, 23]
Bản chất của Hướng đối tượng
- một lớp tiết lộ mọi thứ về cách một thể hiện sẽ xử lý một tin nhắn đến và không tiết lộ gì về cộng tác viên của nó hoặc lý do tại sao tin nhắn được gửi.
- một đối tượng tự nó không thú vị
- bản chất của hướng đối tượng là các đối tượng giao tiếp để đạt được một mục tiêu chung
- Chúng ta cần mã rõ ràng xác định rõ ràng các Contexts, tức là, mạng lưới các vai trò giao tiếp
Cấu trúc phân cấp lớp không thích hợp cho việc thực thi chương trình
Sự khác biệt giữa Người dùng cuối và Người lập trình
Bối cảnh và vai trò trường hợp sử dụng
Ba phối cảnh: Dữ liệu – Bối cảnh – Tương tác
- Dữ liệu – Hệ-Thống-LÀ-Gì
- Hiện thực mô hình miền của người dùng
- Đần, các lớp và các lớp cha đần không có mã tương tác.
- Bối cảnh – Các vai trò Tham gia vào một Ca Sử dụng
- Các vai trò và cấu trúc vai trò
- Chọn các đối tượng để đóng vai trò.
- Đưa các phương thức vai trò vào các đối tượng đã chọn (hoặc các lớp của chúng)
- Tương tác kích hoạt.
- Tương tác – Hệ-Thống-LÀM-Gì
- Các phương thức Vai trò chỉ đạo việc thực thi Trường hợp Sử dụng
Mô hình Tinh thần của Lập trình viên: Phối cảnh Dữ liệu
Mô hình Tinh thần của Lập trình viên: Phối cảnh Ngữ cảnh
Mô hình Tinh thần của Lập trình viên: Toàn bộ Câu chuyện