工厂模式简单理解就是:需要什么对象,工厂为我们产生什么对象。例如:我们一个系统需要同时访问SQL和Oracle数据库, 如果使用简单方式,需要访问SQl的时候初始化SQL访问对象,需要Oracle初始化Oracle,这样会产生很多的数据冗余问题。 现在用一个接口IDBHelp同时继承SQL和Oracle基类,这样不管我们使用Oracle还是SQL,根据需要访问的数据库类型, 初始化IDBHelp对象即可满足我们的需求。 public IDBHelp() { Switch(datatype) { case "SQL": return new SQLDBBase(); case "Oracle": return new OracleDBBase(); } }工厂方法模型和抽象工场都是基于此基础再去分离和抽象而来的。