JAva GOF 23設計モード-単純工場モード進級
1244 ワード
既存のコードを変更するのではなく、コードを追加してすべてのクラスと付き合わず、総インタフェースの実装クラスとしか付き合わないpublic class Cilent{
}
インタフェース:public interface Car{
}実装3:
}ファクトリ:インタフェース:
}実装1:
}実装2:
実装3:
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();
}
}
インタフェース:public interface Car{
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();
}
}