工厂模式
按照前面的简单工厂的基础之上,你仍然需要用到门,这次你打算狠心点,直接在一家铁门公司卖门并且让他们直接安装到家。 对于这样的业务需求,就需要有指定的铁门公司,以及对应的门的标准来实现。
interface Door{ //用接口定义标准
public void getDescription();
}
class WoodenDoor implements Door { //木门
@Override
public void getDescription() {
System.out.println("我是木门");
}
}
class IronDoor implements Door { //铁门
@Override
public void getDescription() {
System.out.println("我是铁门");
}
}
abstract class DoorFactory{ //工厂
abstract public Door getDoor();
public void installDoor()
{
Door door = this.getDoor(); //这句代码我认为是核心之处
door.getDescription();
//其他的业务逻辑
System.out.println("开始装门");
}
}
class woodenDoorFactory extends DoorFactory{
@Override
public Door getDoor() {
return new WoodenDoor();
}
}
class IronDoorFactory extends DoorFactory{
@Override
public Door getDoor() {
return new IronDoor();
}
}
public static void main(String[] args) { //具体的实现,买门的过程
IronDoorFactory tiedoor= new IronDoorFactory ();
tiedoor.installDoor();
}