简单说来就一个原因:SqlSessionFactory这个对象比较复杂,由多部件组成,直接通过new创建耦合度太高,而使用抽象工厂模式则需要多个工厂来创建SqlSessionFactory的各个部件,之后还得开发者自己手动组装起来,比较麻烦
可能这么形容还不太详细,则进一步以量产超跑为例来形容工厂模式与建造者模式的区别:
1、道奇和福特量产的超跑都只有一种型号(不讨论其衍生车型),因此靠工厂模式直接创建对象即可
2、兰博基尼量产的超跑有多种(不要在意Reventon已停产),虽也可靠工厂模式直接创建对象,但这样就需多个工厂(可理解为多条流水线, 且各流水线相互独立),这样对于创建相同的部分而言会浪费资源降低效率,因此可采用建造者模式,分部件创建并组装