Mẫu Phương thức nhà máy trừu tượng hóa quá trình ra quyết định từ lớp gọi. Điều này có một số lợi thế:
Tái sử dụng. Nếu tôi muốn khởi tạo ở nhiều nơi, tôi không phải lặp lại tình trạng của mình, vì vậy khi tôi đến để thêm một lớp mới, tôi sẽ không có nguy cơ bỏ lỡ một lớp.
Kiểm tra đơn vị. Tôi có thể viết 3 bài kiểm tra cho nhà máy, để đảm bảo nó trả về các loại đúng với các điều kiện chính xác, sau đó lớp gọi của tôi chỉ cần được kiểm tra để xem nếu nó gọi nhà máy và sau đó là các phương thức cần thiết trên lớp trả về. Nó cần biết gì về việc thực hiện chính nhà máy hoặc các lớp cụ thể.
Khả năng mở rộng. Khi ai đó quyết định chúng ta cần thêm một lớp D mới vào nhà máy này, không có mã gọi nào, không phải kiểm tra đơn vị hoặc thực hiện, không cần phải nói. Chúng tôi chỉ cần tạo một lớp D mới và mở rộng phương thức xuất xưởng của chúng tôi. Đây là định nghĩa của Nguyên tắc Đóng-Đóng .
Bạn thậm chí có thể tạo một lớp nhà máy mới và làm cho chúng có thể hoán đổi được, nếu tình huống yêu cầu - ví dụ, nếu bạn muốn có thể bật và tắt lớp D trong khi thử nghiệm. Tôi đã gặp tình huống này chỉ một lần, nhưng nó cực kỳ hữu ích.
Như đã nói, Mô hình nhà máy không phải lúc nào cũng đi. Nhưng, bất cứ nơi nào bạn thấy khởi tạo có điều kiện, bạn nên cho nó một chút suy nghĩ.