Câu hỏi trắc nghiệmCoursera: Introduction to Software Engineering - SWE201cMOOC 04 - Engineering Practices for Building Quality Software (SWE201c)
Which is statement false?
3 phương ánCó lời giảiXuất hiện trong 1 bộ đề
A·B·C·DCác phương án trả lời
In the Observer pattern, one difficulty is that the Subject cannot pass an instance of itself to the Observer being updated, due to circular dependencies.Đúng
BObserver is an implementation of the Dependency Inversion principle.
CStrategy Pattern helps maintain the Open/Closed Principle.
Giải thích chi tiết
Đáp án đúng: A. Trong Observer Pattern, Subject truyền chính nó (thường là tham chiếu this) sang Observer khi gọi update, để Observer biết ai vừa đổi và tự lấy dữ liệu mới về — đây gọi là mô hình pull và là cách cài đặt tiêu chuẩn, hoàn toàn không bị chặn bởi phụ thuộc vòng. Vì vậy A là phát biểu SAI.
B đúng: Subject chỉ phụ thuộc vào interface Observer chứ không phụ thuộc lớp cụ thể — đúng tinh thần Dependency Inversion. C đúng: Strategy cho phép thêm thuật toán mới bằng cách thêm lớp mới, không phải sửa lớp cũ, tức mở để mở rộng và đóng để sửa đổi.