【总结】项目中用过的设计模式

1.单例模式(饿汉式 、懒汉式)

应用场景:当频繁使用同一个对象,如配置信息、数据库连接池、线程池等时,使用单例模式可以避免重复创建对象,节省资源

线程池

2.工厂模式

应用场景:当需要创建的对象具有相似的接口,但具体实现可能不同时,可以使用工厂模式。例如,日志记录器、数据库访问等。

落地页的处理: h5、js、deeplink、callback

3.观察者模式

  • 应用场景:如股票价格监控、用户界面数据绑定等,当数据发生变化时,需要通知其他对象或组件进行相应操作。
  • 点击、曝光监测,通知系统进行转发第三方,解耦

4.策略模式

  • 应用场景:当有多种实现方式可供选择,并且这些实现方式经常需要互换时,可以使用策略模式。例如,排序算法的选择、支付方式的切换等。
  • 截断算法、倒排策略、排序算法(随机、均值、模型)

5、创建者模式

构建复杂对象

相关推荐
星火开发设计4 小时前
this 指针:指向对象自身的隐含指针
开发语言·数据结构·c++·学习·指针·知识
梵刹古音4 小时前
【C++】构造函数
开发语言·c++
毕设源码-钟学长4 小时前
【开题答辩全过程】以 基于SSM的孤儿救助信息管理系统设计与实现为例,包含答辩的问题和答案
java
独自破碎E4 小时前
【曼哈顿距离】BISHI25 最大 FST 距离
java·开发语言
苏涵.4 小时前
Java三大集合:List、Set、Map
java·开发语言
Amumu121384 小时前
Vue3 Composition API(一)
开发语言·javascript·ecmascript
存在的五月雨4 小时前
Spring Security认证流程
java·开发语言·mysql
树码小子4 小时前
综合练习:验证码案例(1)总体设计
java·开发语言·spring
草莓熊Lotso4 小时前
Qt 主窗口核心组件实战:菜单栏、工具栏、状态栏、浮动窗口全攻略
运维·开发语言·人工智能·python·qt·ui
Ronin3054 小时前
持久化数据管理中心模块
开发语言·c++·rabbitmq·gtest