7.创建型模式总结

本文深入探讨了创建型模式在对象创建问题上的解决策略,包括单例模式、原型模式、工厂方法模式、抽象工厂模式和建造者模式。详细阐述了它们之间的相似点与不同点,以及如何在客户端代码中利用父类工厂简化对象创建流程,减少类型变化时的修改点。同时强调了创建型模式在减少代码重复、提高可维护性和复用性方面的重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【目的】

         创建型模式解决 与“对象创建”相关 的问题。

 

【相似点和不同点】

         一。Singleton解决 如何限制“对象个数”问题; Prototype, Fatory Method, Abstract Factory, Builder解决“单独封装创建过程”问题。

         二。Singleton, Prototype都将“创建过程”集成到了类的内部; Factory Method, Abstract Factory, Builder都用一系列工厂类“封装创建过程”。

         三。Prototype, Factory Method都是针对“单个类”; Abstract Factory, Builder都是针对“一系列相关的类”。

         四。Prototype在创建对象时,已进行了初始化; Factory Method只是new出一个全新对象。

         五。Abstract Factory是对Factory Method的横向扩展(扩展到相关的多个类),Builder是对Abstract Factory的完善(用相关的多个类组合出一个新的类)

         六。都是在想方设法减轻Client的工作,把活揽到了自己手里。

 

【核心】

         类模式的使用:在Client的代码中用“父类变量”引用“具体类对象”,起到一个宏的作用(一变都变);“父类变量”所赋的值是“具体类对象”,可以直接new,也可以通过读取配置文件中具体类的信息(然后反射得到具体类)动态创建;

 

【优点】

         其实也是类模式的优点:将Client中同一类对象(多个创建点)“抽象”到了“父类工厂”(一个点),减少了对象类型变化时 的“修改点”。

         这正是创建型设计模式的真正目的:将变化点封装到类库中,减轻Client在应对类型变化时的工作! (付出的代价是创建多余的工厂类)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值