说明:最常用的一种设计模式,定义一个公共接口,创建时具体使用哪个对象
场景:1.日志记录器,可以切换本地,远程;
2.数据层访问,切换使用哪个数据库;
3.访问连接服务器方式,使用HTTP,IMAP,POP3;
实现:
//1.定义公共接口 //2.实现类 //3.工厂 public interface iCar{ void run(); } public class baoma : iCar { public void run(){ //宝马,实现方法 } } public class aodi : iCar { public void run() { //奥迪,实现方法 } } public class CarFactory { public iCar getCar(string name) { if (name == null) { return null; } else if (name == "宝马"){ return new baoma(); } else if (name == "奥迪"){ return new aodi(); } return null; } }