工厂方法模式
一、工厂方法模式(工厂模式)
此模式特点就是基于抽象工厂扩展具体工厂创建产品

二、角色分析
抽象工厂(FactoryBean)
具体工厂 (SqlSessionFactoryBean)
抽象产品 (SqlSessionFactory)
具体产品 (DefaultSqlSessionFactory)
二、应用场景分析
(1)Mybatis (SqlSessionFactoryBean)
(2)Shiro (ShiroFilterFactoryBean)
(3) Spring (DataSourceFactory、TransactionFactory)
四、实例源码解读(以SqlSessionFactoryBean为列)
具体工厂SqlSessionFactoryBean实现了FactoryBean中的getObject()创建具体的产品
public SqlSessionFactory getObject() throws Exception { if (this.sqlSessionFactory == null) { afterPropertiesSet(); } return this.sqlSessionFactory; }
五、优缺点
优点:相对于简单工厂更加灵活,适合创建具备一定等级结构的产品
缺点:产品比较多时,工厂方法增多,耗内存

浙公网安备 33010602011771号