Spring中的工厂模式和单例模式

Spring预备知识(适合中小型项目)

作用:集成和管理其他框架

工厂模式:

A  a  = new A( );

将类所要创建的对象写入工厂,统一进行管理

package com.spring;

 

public class TestSimpleFactoryPattern {

 

    /**

     * 工厂模式:利用工厂模式调用两个类

     */

    public static void main(String[] args) {

       // TODO Auto-generated method stub

       CarFactory factory = new CarFactory();//创建工厂模式的 CarFactory类的对象

       Car c = factory.createCar("auti");//调用 CarFactory类中的方法创建对象

       c.run();//调用所需类中的方法

    }

   

 

}

class CarFactory{//建立工厂模式的 CarFactory类

    public Car createCar(String type){//工厂模式的 CarFactory类中的createCar方法

       if("auti".equalsIgnoreCase(type)){

           return new Audi();

       }else if("auto".equalsIgnoreCase(type)){

           return new Auto();

       }else{

           return null;

       }

    }

}

interface Car{

    public void run();

}

 

class Audi implements Car

{

 

    @Override

    public void run() {

       System.out.println("奥迪车跑跑跑!");

    }

   

}

class Auto implements Car//接口Car:用到了多态

{

 

    @Override

    public void run() {

       System.out.println("奥拓车跑跑跑!");

    }

   

}

单例模式:

某一个类只有一个实例

package com.spring;

 

public class ClassicSingleton {

    public static ClassicSingleton instance = null;//此处null可以省略

    private ClassicSingleton(){//构造器私有,外部不能调用

      

    }

    public synchronized ClassicSingleton getInstance(){//synchronized为多线程,公开一个方法

       if(instance==null){

           instance = new ClassicSingleton();//永远只能调用一次

       }

       return instance;

    }

}

 

面向接口编程

 

动态代理:AOP内部核心机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值