zoukankan      html  css  js  c++  java
  • 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内部核心机制

  • 相关阅读:
    悲观锁、乐观锁、行级锁、表级锁
    MySQL中锁详解(行锁、表锁、页锁、悲观锁、乐观锁等)
    刷题-力扣-148. 排序链表
    刷题-力扣-206. 反转链表
    刷题-力扣-203. 移除链表元素
    刷题-力扣-474. 一和零
    刷题-力扣-494. 目标和
    刷题-力扣-160. 相交链表
    刷题-力扣-34. 在排序数组中查找元素的第一个和最后一个位置
    刷题-力扣-33. 搜索旋转排序数组
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/3675268.html
Copyright © 2011-2022 走看看