JavaのGOF23デザインパターン - シンプルなファクトリパターン前売

これは、既存のコードを変更しますが、コードが追加されません
全てのクラスを扱っていない、に対処するための唯一のインタフェースと実装クラス合計
パブリッククラスCilent {

public static void main(String[] args) {

    Car c1=new AudiFactory().createCar();
    Car c2=new ByadiFactory().createCar();
    Car c3=new BenzFactory().createCar();

    c1.run();
    c2.run();
    c3.run();
}

}

インタフェース:
パブリックインターフェイスカー{

void run();
}
实现1:
public class Benz implements Car {

public void run()
{
    System.out.println("Benz");
}

}
实现2:
public class Byadi implements Car{

public void run()
{
    System.out.println("Byadi");
}

}
3を実現:

public class Audi implements Car {

public void run()
{
    System.out.println("Audi");
}

}
工場:
インターフェース:

public interface CarFactory {

Car createCar();

}
1を実現。

public class AudiFactory implements CarFactory{

public Car createCar()
{
    return new Audi();
}

}
2を達成するために:

public class BenzFactory implements CarFactory {

public Car createCar()
{
    return new Benz();
}
}

3を達成。

public class ByadiFactory implements CarFactory {

public Car createCar()
{
    return new Byadi();
}
}

おすすめ

転載: blog.51cto.com/14437184/2440448