专栏名称: ImportNew
伯乐在线旗下账号,专注Java技术分享,包括Java基础技术、进阶技能、架构设计和Java技术领域动态等。
目录
今天看啥  ›  专栏  ›  ImportNew

为什么 MyBatis 源码中,没有我那种 if···else

ImportNew  · 公众号  · Java  · 2023-11-27 11:30
    

文章预览

在MyBatis的两万多行的框架源码中,使用了大量的设计模式对工程架构中的复杂场景进行解耦,这些设计模式的巧妙使用是整个框架的精华。 经过整理,大概有以下设计模式,如图1所示。 图1 0 1 类型:创建型模式 ▊ 工厂模式 SqlSessionFactory 的结构如图2所示。 图2 工厂模式: 简单工厂是一种创建型模式,在父类中提供一个创建对象的方法,允许子类决定实例对象的类型。 场景介绍: SqlSessionFactory 是获取会话的工厂,每次使用MyBatis 操作数据库时, 都会开启一个新的会话。在会话工厂的实现中,SqlSessionFactory 负责获取数据源环境配置信息、构建事务工厂和创建操作SQL 的执行器,最终返回会话实现类。 同类设计: SqlSessionFactory、ObjectFactory、MapperProxyFactory 和DataSourceFactory。 ▊ 单例模式 Configuration 单例配置类的结构如图3所示。 图3 单例模式: 是一 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览