package www.libinxuan.Mobile;
/**
* 抽象产品角色
* @author Administrator
*
*/
public interface Mobile {
public void creatMobile();
}
工厂角色
package www.libinxuan.Mobile;
/**
* 工厂角色
* @author Administrator
*
*/
public class MobileFactory {
public Mobile getMobile(String title) throws Exception{
if(title.equalsIgnoreCase("nokia")){
return new Nokia();
}
if(title.equalsIgnoreCase("motorola")){
return new Motorola();
} else{
throw new Exception("no such" + title + "mobile found");
}
}
}
具体产品角色
package www.libinxuan.Mobile;
/**
* 具体产品角色
* @author Administrator
*
*/
public class Motorola implements Mobile {
@Override
public void creatMobile() {
System.out.println("一部Motorola手机生成了");
}
}
package www.libinxuan.Mobile;
/**
* 具体产品角色
* @author Administrator
*
*/
public class Nokia implements Mobile {
@Override
public void creatMobile() {
System.out.println("一部Nokia手机生成了");
}
}
测试
package www.libinxuan.Mobile;
public class Client {
public static void main(String[] args){
try{
MobileFactory mf = new MobileFactory();
Mobile m;
m = mf.getMobile("nokia");
m.creatMobile();
m = mf.getMobile("motorola");
m.creatMobile();
m = mf.getMobile("sdsd");
m.creatMobile();
}catch(Exception e){
e.printStackTrace();
}
}
}