[原创]抽象工厂模式
2007-07-27 12:39 Virus-BeautyCode 阅读(339) 评论(0) 编辑 收藏 举报我们经常需要创建一系列相互依赖的对象,需要使用很多次的new,我们要使用一种封装机制来避免这些。
提供一个创建一系列相关或者相互依赖对象的接口,无需指定他们具体的类。
客户通过抽象工厂和抽象产品来创建对象。
客户角色仅仅依赖抽象类,不必理解具体的业务规则。
系统中增加业务规则类不是模式所能解决的事情,无论采用什么模式,业务规则类都是需要添加的,即增加了新系列的产品。
string factoryName=ConfigurationSettings.AppSettings["factoryName"];
instance=(AbstractFactory)Assembly.Load(factoryName).CreateInstance(factoryName);
抽象工厂将产品对象的创建延迟到他的具体工厂的子类,引进新产品的情况下,我们不需要修改工厂类,而只是增加新的产品类和新的工厂类(这是任何时候都不可避免的),这样很好的符合了开放封闭原则。