首页 > 代码库 > DesignPattern_Creational_AbstractFactory
DesignPattern_Creational_AbstractFactory
using System.Reflection;namespace DesignPattern.Creational.AbstractFactory{ public interface IProductA { } public interface IProductB { } public class Product1A : IProductA { } public class Product1B : IProductB { } public class Product2A : IProductA { } public class Product2B : IProductB { } public abstract class AbstractFactory { public static AbstractFactory ChooseFactory(string name) { return Assembly.Load("DesignPattern.Creational") .CreateInstance(string.Format("DesignPattern.Creational.AbstractFactory.{0}", name)) as AbstractFactory; } public abstract IProductA GetProductA(); public abstract IProductB GetProductB(); } public class Factory1 : AbstractFactory { public override IProductA GetProductA() { return new Product1A(); } public override IProductB GetProductB() { return new Product1B(); } } public class Factory2 : AbstractFactory { public override IProductA GetProductA() { return new Product2A(); } public override IProductB GetProductB() { return new Product2B(); } }}
DesignPattern_Creational_AbstractFactory
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。