zoukankan      html  css  js  c++  java
  • DI的3种实现方式

    编写用来获取数据的接口

    public interface DataBase{

      //改方法用来获取数据

      public void getData();

    }

    编写具体负责获取数据的类

    public class SqlDataBase1 implement DataBase{

      //该方法1用来获取数据

      public void getData(){

        //以下是具体获取数据的代码

      }

    }

    public class SqlDataBase2 implement DataBase{

      //该方法2用来获取数据

      public void getData(){

        //以下是具体获取数据的代码

      }

    }

    1.接口注入

     1.1编写一个接口

    public interface IBuiness{

      public void createDI(DataBase);

    }

    1.2实现这个接口

    public class Buiness implement IBuiness{

      private DataBase db;

      public void createDI(DataBase db){

        this.db=db;

      }

      public void getData(){

        db.getData();

      }

    }

    1.3测试Test

    public class TestBuiness{

      private Buiness buiness=new Buiness();

      public void getData(){

        buiness.createDI(new SqlDataBase2());

        buiness.getData();

      }

    }

    2.Set注入

    2.1编写业务逻辑类

    public class Buiness{

      private DataBase db;

      public void setDataBase(DataBase db){

        this.db=db;

      }

      public void getData(){

        db.getData();

      }

    }

    2.2测试Test

    public class Test{

      private Buiness buiness=new Buiness();

      public void getData(){

        buiness.setDataBase(new SqlDataBase1());

        buiness.getData();

        buiness.setDataBase(new SqlDataBase2());

        buiness.getData();

      }

    }

    3.构造注入

     public class Buiness{

      private DataBase db;

      public Buiness(DataBase ab){

        this.db=db;

      }

      public void getData(){

        db.getData();

      }

     }

    3.2测试Test

    public void Test(){

      private Buiness buiness;

      public void getData(){

        buiness=new Buiness(new SqlDataBase1());

        buiness.getData();

      }

    }

  • 相关阅读:
    memcache安装 基于Red Hat 7.4
    LNMP源码编译
    LAMP源码编译
    Red Hat 7.4 安装laravel框架 基于xampp集成环境
    PHP 扩展开发检测清单(扩展开发必读)
    20 个 Laravel Eloquent 必备的实用技巧
    [项目推荐] Corcel 让你在 WordPress 中使用 Laravel
    Tumblr:我们是如何从 PHP 5 升级到 PHP 7 的
    PHP / Laravel 月刊 #23
    十个你需要在 PHP 7 中避免的坑
  • 原文地址:https://www.cnblogs.com/LuoPengSdok/p/11394180.html
Copyright © 2011-2022 走看看