팩토리 패턴 java란 무엇입니까
팩토리 패턴은 Java에서 가장 일반적으로 사용되는 디자인 패턴 중 하나입니다. 이러한 유형의 디자인 패턴은 객체를 생성하는 최적의 방법을 제공하는 생성 패턴입니다.
팩토리 패턴에서는 객체 생성 시 생성 로직을 클라이언트에 노출하지 않고, 공통 인터페이스를 사용하여 새로 생성된 객체를 가리킵니다.
간단히 말하면, 팩토리 메소드는 새로운 작업을 대체합니다. 일반 용어로 말하면, 새 객체를 생성할 때 프로그래밍할 때 팩토리 메소드를 직접 호출하면 됩니다. 이를 구현하려면 특정 팩토리 클래스를 정의하고 인스턴스를 생성하는 메서드를 정의합니다.
장점:
1. 호출자가 개체를 생성하려는 경우 해당 개체의 이름만 알면 됩니다.
2. 높은 확장성. 제품을 추가하려면 팩토리 클래스만 확장하면 됩니다.
3. 제품의 특정 구현을 보호합니다. 호출자는 제품 인터페이스에만 관심이 있습니다.
단점:
제품을 추가할 때마다 특정 클래스와 객체 구현 팩토리를 추가해야 하며, 이로 인해 시스템의 클래스 수가 두 배로 늘어나고 시스템의 복잡성도 어느 정도 증가합니다. 시스템 특정 클래스에 대한 종속성이 추가되었습니다. 이것은 좋은 일이 아닙니다.
적용 사례:
1. 자동차가 어떻게 만들어지는지, 자동차 내부의 구체적인 구현에 대해 걱정하지 않고 공장에서 직접 픽업할 수 있는 자동차가 필요합니다.
팩토리 패턴의 간단한 구현은 다음과 같습니다.
//所有车的接口 有一个共同改的方法 开车 public interface Car { public void drive(); } //奥迪类 实现car接口因为奥迪车也是车 肯定可以开的嘛 public class Audi implements Car { public Audi(){ System.out.println("生产出一辆奥迪"); } @Override public void drive() { System.out.println("开奥迪"); } } //宝马类 实现car接口因为宝马车也是车 肯定也可以开 public class Bmw implements Car{ public Bmw(){ System.out.println("生产出一辆宝马"); } @Override public void drive() { System.out.println("开宝马"); } } //生产车的工厂 该工厂接收一个车名 你只需要告诉他你要生产什么车 就可以生产出对应的车出来 public class CarFactory { public static Car getCar(String caename){ if(caename.equals("audi")){ return new Audi(); }else if(caename.equals("bmw")){ return new Bmw(); } return null; } } //测试 public class Test { public static void main(String[] args) { //告诉工厂类 你需要生产出一辆奥迪车 那么给昂他传一个参数audi进去 Car audi = CarFactory.getCar("audi"); //就可以生产出奥迪的车 调用开车的方法就可以开车啦 audi.drive(); //宝马类似 Car bmw = CarFactory.getCar("bmw"); bmw.drive(); } } 输出: 成产出一辆奥迪 开奥迪 生产出一辆宝马 开宝马
추천 튜토리얼: java 튜토리얼
위 내용은 팩토리 패턴 Java 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!