设计模式

设计模式根据目的来划分分类,分为三大类:

https://cloud.tencent.com/developer/article/1665573?from=article.detail.1866395

https://www.cnblogs.com/xrq730/category/740512.html

1)创建型模式5种:单例模式、工厂方法模式、抽象工厂模式、原型模式、建造者模式

2)结构型模式7种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式

3)行为型模式11种:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、状态模式、中介者模式、备忘录模式、访问者模式、状态模式

创建型设计模式主要解决“对象的创建”问题

结构型设计模式主要解决“类或对象的组合或组装”问题

行为型设计模式主要解决的就是“类或对象之间的交互”问题

设计模式要干的事情就是解耦。创建型模式是将创建和使用代码解耦,结构型模式是将不同功能代码解耦,行为型模式是将不同的行为代码解耦

一 创建型:

单例模式:一个类只允许创建唯一一个对象(或实例),对象的唯一范围是指一个进程,单例模式创建的对象是进程唯一的。

使用场景:处理资源访问冲突。例如记录日志到文件中

表示全局唯一类。例如配置信息类 SharedPreference单例类

有些数据在系统中只应该保存一份,就比较适合设计为单例类。

实现单例模式需要关注的点:

构造函数需要是 private 访问权限的,这样才能避免外部通过 new 创建实例;

考虑对象创建时的线程安全问题;

考虑是否支持延迟加载;

考虑 getInstance() 性能是否高(是否加锁)。

进程内唯一的单例 使用static进行创建

线程内唯一的单例 实现思路:使用hashmap,key为线程id,value为对象,根据不同的id创建不同的对象。

Java中提供的ThreadLocal可以更加方便的实现线程内对象唯一

posted @ 2026-02-27 11:41  125hello521  阅读(2)  评论(0)    收藏  举报