代码改变世界

[原创]抽象工厂模式

  Virus-BeautyCode  阅读(340)  评论(0编辑  收藏  举报

    我们经常需要创建一系列相互依赖的对象,需要使用很多次的new,我们要使用一种封装机制来避免这些。

提供一个创建一系列相关或者相互依赖对象的接口,无需指定他们具体的类。

客户通过抽象工厂和抽象产品来创建对象。

客户角色仅仅依赖抽象类,不必理解具体的业务规则。

系统中增加业务规则类不是模式所能解决的事情,无论采用什么模式,业务规则类都是需要添加的,即增加了新系列的产品。

string factoryName=ConfigurationSettings.AppSettings["factoryName"];


instance=(AbstractFactory)Assembly.Load(factoryName).CreateInstance(factoryName);

抽象工厂将产品对象的创建延迟到他的具体工厂的子类,引进新产品的情况下,我们不需要修改工厂类,而只是增加新的产品类和新的工厂类(这是任何时候都不可避免的),这样很好的符合了开放封闭原则。


 

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示