相比于抽象工厂模式返回不同产品,建造者模式是将不同的零件组合成一个产品。
/// <summary> /// 产品 /// </summary> abstract class Product { public string Astr { get; set; } public string Bstr { get; set; } public abstract void Print(); } /// <summary> /// 产品A /// </summary> class ProductA : Product { public override void Print() { Console.WriteLine("ProductA"); } } /// <summary> /// 产品B /// </summary> class ProductB : Product { public override void Print() { Console.WriteLine("ProductB"); } } abstract class Factory { public abstract Product GetProduct(); } /// <summary> /// 工厂A生产组装产品A /// </summary> class FactoryA : Factory { public override Product GetProduct() { Product product = new ProductA(); //组装过程 product.Astr = "ProductA.Astr"; product.Bstr = "ProductA.Bstr"; return product; } } /// <summary> /// 工厂B生产组装产品B /// </summary> class FactoryB : Factory { public override Product GetProduct() { Product product = new ProductB(); //组装过程 product.Astr = "ProductB.Astr"; product.Bstr = "ProductB.Bstr"; return product; } } static void Main(string[] args) { Factory factory = new FactoryA(); Product product = factory.GetProduct(); }
原文:https://www.cnblogs.com/hwrblog/p/12835404.html