Tôi đang cố gắng hiểu mô hình nhà máy. Nếu có nhiều triển khai thì mẫu nhà máy của tôi sẽ có nhiều trường hợp khác hoặc chuyển đổi. Và cũng mỗi khi tôi giới thiệu một triển khai mới, tôi nên thay đổi mã nhà máy của mìnhmô hình nhà máy cách tiếp cận năng động
Giống như trong ví dụ bên dưới nếu cho phép vịt con đang triển khai giao diện thú cưng như ngày mai nếu nhiều động vật triển khai giao diện thú cưng của tôi. nếu mã hoặc trường hợp chuyển đổi. Có cách nào để giải quyết vấn đề này với cách tiếp cận năng động hơn không?
package com.javapapers.sample.designpattern.factorymethod;
//Factory method pattern implementation that instantiates objects based on logic
public class PetFactory {
public Pet getPet(String petType) {
Pet pet = null;
// based on logic factory instantiates an object
if ("bark".equals(petType))
pet = new Dog();
else if ("quack".equals(petType))
pet = new Duck();
return pet;
}
Nếu động vật phát triển
if ("bark".equals(petType))
pet = new Dog();
else if ("quack".equals(petType))
pet = new Duck();
else if ("mno".equals(petType))
pet = new MNO();
else if ("jkl".equals(petType))
pet = new JKL();
else if ("ghi".equals(petType))
pet = new GHI();
else if ("def".equals(petType))
pet = new DEF();
......
else if ("abc".equals(petType))
pet = new ABC();
return pet
Vâng, không có gì để làm. Nhà máy xây dựng của nó –