Lưu ý: Câu hỏi ở cuối bài.
Tôi đã đọc các luồng stackoverflow khác liên quan đến Tóm tắt Factory vs Factory Phương thức . Tôi hiểu ý định của từng mẫu. Tuy nhiên, tôi không rõ ràng về định nghĩa.
Factory Method định nghĩa một giao diện để tạo một đối tượng, nhưng cho phép các lớp con quyết định lớp nào sẽ khởi tạo. Một phương thức nhà máy cho phép các lớp trì hoãn việc khởi tạo các lớp con.
Ngược lại, một Nhà máy Trừu tượng cung cấp một giao diện để tạo các họ của các đối tượng liên quan hoặc phụ thuộc mà không chỉ định các lớp cụ thể của chúng.
- John Nữ
Các Abstract Factory trông rất giống với các phương pháp Factory . Tôi đã rút ra một vài lớp UML để minh họa quan điểm của mình.
Ghi chú:
- Sơ đồ là từ www.yuml.com vì vậy chúng không được định hướng hoàn hảo. Nhưng nó là một dịch vụ miễn phí :).
- Các sơ đồ có thể không hoàn hảo. Tôi vẫn đang học các mẫu thiết kế GoF .
Phương pháp nhà máy:
Nhà máy trừu tượng (chỉ có 1 thành viên):
Nhà máy trừu tượng (nhiều thành viên):
Câu hỏi:
- Nếu Nhà máy Trừu tượng chỉ có một người tạo và một sản phẩm, thì đó có còn là mô hình Nhà máy Trừu tượng không? (một giao diện để tạo gia đình)
- Có thể Factory Method tạo bê tông được tạo ra từ một giao diện hay nó phải là từ một lớp học? (các lớp trì hoãn tức thời đến các lớp con)
- Nếu Nhà máy trừu tượng chỉ có thể có một người tạo và một sản phẩm, thì sự khác biệt duy nhất giữa Nhà máy trừu tượng và Phương thức nhà máy mà người tạo cho cái trước là Giao diện và người tạo cho cái sau là Class?