zoukankan      html  css  js  c++  java
  • 工厂模式

    1.什么时候使用工厂模式:

    核心:工厂模式的核心思想就是实例化对象.

    说明:某个写对象可能需要特定的参数,可能是抽象类,也可能是接口等等.不能直接实例化的,需要采用工厂模式.

    2.静态工厂

    核心:通过类名.静态方法的方式创建对象

    (1)工厂代码:

    public class StaticFactory {
        
        //静态工厂必须有静态方法
        public static Calendar getIn(){
            
            return Calendar.getInstance();
        }
    }

    (2)工厂配置文件

        <!--配置静态工厂  -->
        <bean id="calendar1" class="com.jt.manage.factory.StaticFactory" factory-method="getIn"/>

    3.实例化工厂

    核心:先实例化工厂对象,之后利用工厂对象.工厂方法实例化对象

    (1)代码:

    public class InsFactory {
        
        public Calendar getIns(){
            
            return Calendar.getInstance();
        }
    }

    (2)配置文件

    <!--实例化工厂  -->
        <bean id="insFactory" class="com.jt.manage.factory.InsFactory"/>
        <bean id="calendar2" factory-bean="insFactory" factory-method="getIns"/>

    4.Spring工厂

     (1)

    public class SpringFactory implements FactoryBean<Calendar>{
        
        //当程序加载该类时,容器内部会自动的调用getObject方法
        @Override
        public Calendar getObject() throws Exception {
            
            return Calendar.getInstance();
        }
    
        @Override
        public Class<?> getObjectType() {
            // TODO Auto-generated method stub
            return Calendar.class;
        }
    
        @Override
        public boolean isSingleton() {
            // TODO Auto-generated method stub
            return false;
        }
    
    }

    (2)配置文件

    <bean id="calendar3" class="com.jt.manage.factory.SpringFactory"/>
  • 相关阅读:
    67. Add Binary
    66. Plus One
    64. Minimum Path Sum
    63. Unique Paths II
    How to skip all the wizard pages and go directly to the installation process?
    Inno Setup打包之先卸载再安装
    How to change the header background color of a QTableView
    Openstack object list 一次最多有一万个 object
    Openstack 的 Log 在 /var/log/syslog 里 【Ubuntu】
    Git 分支
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11595664.html
Copyright © 2011-2022 走看看