工厂方法模式

一、工厂方法模式(工厂模式)

    此模式特点就是基于抽象工厂扩展具体工厂创建产品  

   

二、角色分析

  抽象工厂(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;
  }

五、优缺点

  优点:相对于简单工厂更加灵活,适合创建具备一定等级结构的产品

  缺点:产品比较多时,工厂方法增多,耗内存

posted @ 2020-08-05 18:34  StrangerIt  阅读(139)  评论(0)    收藏  举报