设计模式-单例-工厂

本文探讨设计模式中的单例模式和工厂模式,包括它们的特点、优缺点和应用场景。单例模式确保一个类只有一个实例,适用于资源管理。工厂模式提供了一种创建对象的抽象方式,方便扩展。文章还提到了原型模式、简单工厂、工厂方法和抽象工厂,总结自C语言中文网,并提供了GitHub源码链接以供深入研究。
摘要由CSDN通过智能技术生成

关于设计模式可关注我的GitHub会持续更新,并且附上源码和自己的理解:GitHub

原则

设计原则 一句话归纳 目的
开闭原则 对扩展开放,对修改关闭 降低维护带来的新风险
依赖倒置原则 高层不应该依赖低层,要面向接口编程 更利于代码结构的升级扩展
单一职责原则 一个类只干一件事,实现类要单一 便于理解,提高代码的可读性
接口隔离原则 一个接口只干一件事,接口要精简单一 功能解耦,高聚合、低耦合
迪米特法则 不该知道的不要知道,一个类应该保持对其它对象最少的了解,降低耦合度 只和朋友交流,不和陌生人说话,减少代码臃肿
里氏替换原则 不要破坏继承体系,子类重写方法功能发生改变,不应该影响父类方法的含义 防止继承泛滥
合成复用原则 尽量使用组合或者聚合关系实现代码复用,少使用继承 降低代码耦合

创建型模式

  1. 单例模式:某个类只有一个实例
  2. 原型模式:将一个对象作为原型,进行复制而克隆
  3. 工厂方法(类创建型):定义一个创建产品的接口
  4. 抽象工厂:定义一个创建产品族的接口
  5. 建造者:将一个复杂对象分解为多个相对简单的部分。
单例模式
特点:
  • 只有一个实例
  • 类自行创建
  • 对外提供一个全局的访问点
优点:
  • 一个实例,内存开销小
  • 避免资源的多重占用
  • 全局访问点,可优化和共享资源的访问
缺点
  • 没有接口,扩展困难,违背开闭原则
  • 在并发过程中,不利于调试
应用场景
  1. 频繁创建,频繁销毁,如线程池
  2. 只需要创建一个对象的时
  3. 创建实例时,耗时长,占用多,经常使用
  4. 频繁访问数据库
  5. 对象需要被共享
实现
  1. 懒汉
public class LazySingleton{
   
    private static volatile LazySigleton instance = null;
    
    private 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值