工厂模式定义
在创建对象时,不会对客户端暴露创建逻辑,通过使用一个共同的接口来指向新创建的对象。
通过工厂模式,将创建对象的权利移交给工厂。我们不在通过new来创建我们所需要的对象,而是通过工厂来获取程序需要的对象。
简单工厂模式的实现
Phone类
package com.love.LearnDesginModel.simplefactory;
public abstract class Phone {
abstract void make();
}
MiPhone类
package com.love.LearnDesginModel.simplefactory;
public class MiPhone extends Phone{
public MiPhone(){
this.make();
}
@Override
void make() {
// TODO Auto-generated method stub
System.out.println("make xiaomi phone!");
}
}
IPhone类
package com.love.LearnDesginModel.simplefactory;
public class IPhone extends Phone {
public IPhone()
{
this.make();
}
@Override
void make() {
// TODO Auto-generated method stub
System.out.println("make IPhone");
}
}
工厂类PhoneFactory
package com.love.LearnDesginModel.simplefactory;
public class PhoneFactory {
public Phone makePone(String phoneName){
if(phoneName.equalsIgnoreCase("miphone")){
return new MiPhone();
}else if(phoneName.equalsIgnoreCase("Iphone")){
return new IPhone();
}
return null;
}
}
测试类Test
package com.love.LearnDesginModel.simplefactory;
public class Test {
public static final PhoneFactory factory = new PhoneFactory();
public static void main(String[] args) {
// PhoneFactory factory = new PhoneFactory();
Phone miPhone = factory.makePone("miphone");
Phone iPhone = factory.makePone("Iphone");
}
}
上面是工厂模式的实现。