我刚接触java 在学习框架的过程中 一直很费解的一件事情就是 创建一个工具类对象 往往需要很曲折的过程 ,就比如mybatis 创建 sqlsession 的过程 :
通过配置文件 首先构造一个 Reader 再通过Reader 构建一个 SqlSessionFactoryBuilder 再通过
SqlSessionFactoryBuilder 种种构建一个 SqlSessionFactory 再通过 SqlSessionFactory 构建一个SqlSession
你为何要让我折腾一遍 直接用SqlSessionFactory 传入 配置文件 返回 SqlSession 不是更简洁么 SqlSessionFactoryBuilder 这一层是怎样的设计思想呢 ?我知道是工厂方法模式 也知道是解耦合 ,但是始终理解不了 它为啥要这样设计 ?求大神指路
有空去看看设计模式,这里提到的大概是工厂模式和生成器模式