设计模式-创建型模式总结
创建型模式就是与对象的创建有关的模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、建造者模式和原型模式。
工厂模式
工厂模式就是用工厂方法代替new
来实例化对象的方式。主要目的是降低new
所带来的耦合关系。
简单工厂
工厂模式最简单的一种实现,隔离了new
的过程,但不满足开闭原则,由于简单工厂模式通常采用静态方法实现,因此也叫静态工厂,一般会配合反射一起使用。
工厂方法
主要目的是将类的实例化延迟到工厂类的子类中完成,即由子类来决定应该实例化哪一个类,对于客户端来说,消除了对具体产品的依赖。
抽象工厂
有了产品族概念,为相互关联或者相互依赖的对象提供一个统一的接口。
单例模式
解决的是实体对象个数的问题,即应对对象只需要创建一次的情况,当然,创建固定个数的情况也是可以的,现在更流行的方式是通过IOC容器实现。
建造者模式
主要用于动态的创建复杂的、具有复合属性的对象。从结构上可以看成是一个抽象工厂(生产相关联的部件)和一个简单工厂(组装完整的产品)的组合使用。建造者可以抽象并约束产品的建造流程。
原型模式
用于重复创建一个包含大量公共属性,或者初始化需要消耗大量资源的对象时,即主要用于实现对象的自我复制。
- 尽量将实现原型模式的类标记为
sealed
; - 尽量避免使用
ICloneable
接口。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!