Chỉ cần gọi chương này là “Thiết kế đôi mắt của bạn cho sự thừa kế” – Decorator Pattern.
Chúng tôi sẽ kiểm tra lại việc lạm dụng thừa kế thường gặp và bạn sẽ học cách “trang trí” các lớp của mình khi runtime bằng cách sử dụng việc kết hợp (compose) các đối tượng. Tại sao à? Một khi bạn biết các kỹ thuật decorating (với Decorator Pattern), bạn sẽ có thể cung cấp cho các object của mình những hành vi mới mà không cần phải thay đổi code đối với các lớp bên trong.
Đừng bỏ lỡ khi có điều gì đó thú vị xảy ra! Chúng tôi đã có một mẫu giúp các đối tượng của bạn biết khi nào có điều gì đó mà chúng quan tâm đã xảy ra hay chưa. Các đối tượng thậm chí có thể quyết định trong runtime xem chúng có muốn được thông báo hay không. Observer Pattern là một trong những mẫu được sử dụng nhiều nhất trong JDK và nó rất hữu dụng. Trước khi chúng tôi hoàn thành, chúng tôi cũng sẽ xem xét một đến nhiều mối quan hệ và khớp nối lỏng lẻo (loose coupling) (vâng, đúng vậy, chúng tôi đã nói về khớp nối). Với Observer, bạn sẽ là cuộc sống của bữa tiệc Mẫu.
Ai đó đã giải quyết những vấn đề của bạn. Trong chương này Strategy Pattern (Mẫu chiến lược), bạn sẽ học được lý do tại sao (và làm thế nào) bạn có thể khai thác kiến thức và kinh nghiệm của những developer khác. Trước khi chúng ta hoàn thành, chúng ta sẽ xem xét việc sử dụng và lợi ích của các mẫu thiết kế, xem xét một số nguyên tắc thiết kế OO chính và xem qua một ví dụ về cách một mẫu hoạt động. Cách tốt nhất để sử dụng các mẫu là suy nghĩ về chúng và sau đó nhận ra nơi nào cần sử dụng trong thiết kế của bạn và các ứng dụng hiện có, nơi bạn có thể áp dụng chúng. Thay vì tự viết code, với các mẫu thiết kế bạn có được kinh nghiệm sử dụng lại code (reuse code).
Trong quá trình bản thân tự tìm hiểu, tôi có dịch qua quyển sách Head First Design Patterns của các tác giả Kathy Sierra, Elisabeth Freeman. Gửi mọi người.