说明
通过继承和方法参数使用抽象建造者,使可以有无限建造方式建造一个指定产品,当然产品也可以是一个抽象的产品的
public class ProductD { public List<string> lstr { get; set; } public ProductD() { lstr = new List<string>(); } public void Add(string str) { lstr.Add(str); } public void Print() { foreach(var str in lstr) { Console.WriteLine($"建造:{str}"); } Console.WriteLine($"建造完成"); } } public abstract class AbsBuilder { public abstract ProductD Get(); } class BuilderA : AbsBuilder { public override ProductD Get() { ProductD productD = new ProductD(); productD.Add("A"); productD.Add("B"); return productD; } } public class Director { public ProductD Create(AbsBuilder absBuilder) { return absBuilder.Get(); } } new Director().Create(new BuilderA()).Print();
时间: 2024-10-01 04:13:50