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內部核心機制


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM