设计模式总结

1|0设计模式概念

设计模式是开发人员为了解决一些软件开发中的问题而总结出来的经验套路。并且可以反复使用的

2|0设计模式的分类

  • 创建型:不使用new创建对象,隐藏对象的创建细节,你只需要传不同的参数进去就能得到不同的对象
  • 结构型:这些设计模式关注类和对象的组合
  • 行为形:这些设计模式特别关注对象之间的通信。

3|0常见设计模式

单例、多例、工厂模式、抽象工厂模式、代理模式、装饰者模式

4|0工厂模式

5|0抽象工厂模式

对多个工厂再词进行抽象,俗称工厂的工厂

6|0单例模式

  1. 单例类只能有一个实例。
  2. 单例类必须自己创建自己的唯一实例。
  3. 单例类必须给所有其他对象提供这一实例。
    关键代码:构造函数是私有的

6|1饿汉单例模式


类加时是就创建了对象,并且线程安全,执行效率高(因为没有加锁)

6|2懒汉单例模式

线程不安全:

线程安全:


6|3双重校验锁:


volatile关键字的作用:保证了变量的可见性(visibility)。被volatile关键字修饰的变量,如果值发生了变更,其他线程立马可见,避免出现脏读的现象。

7|0原型模式(多例)

是用于创建重复的对象,同时又能保证性能。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式
** 实现细节**克隆操作,在 JAVA 继承 Cloneable,重写 clone()

8|0建造者模式(有点复杂,之后完善)

使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
注意事项:与工厂模式的区别是 建造者模式更加关注与零件装配的顺序。

9|0适配器模式


__EOF__

本文作者程序员小宇
本文链接https://www.cnblogs.com/treasury/p/12709147.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   程序员小宇  阅读(109)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示