zoukankan      html  css  js  c++  java
  • 任务17:从UML角度来理解依赖

     什么是依赖

    如果我们用EF操作数据库。

    那么CustomerController就对Context形成了依赖。

     

     我们这种依赖的写法就是隐式的依赖

     

     显式依赖于隐式依赖

    怎么理解隐式的依赖呢?

    三层架构是比较清晰的 从BLL到DAL

    当你进去一个BLL有好几千行代码的时候,你就崩溃了,因为你跟不知道BLL里面有多少个外部的DAL引用。造价上Redis、log这些外部的引用。这个类就会变得很庞大,很复杂,

    导致我们没有办法去维护。甚至你都不知道这个类和其他哪些类有关系。

    显式依赖,像这种把所有的依赖都在构造函数内初始化

    依赖倒置

    依赖于高层业务,不依赖于低层业务的具体实现,依赖于具体的抽象

    CustomerController就是一个高层的业务。

    DBcontext就是一个低层业务的实现。如果现在要换成MySql的话 就需要在CustomerController里面修改context的实例

    这个时候我就要依赖于底层业务的实现。

    通过Respository

    当我们不用EF的时候,CustomerContext就可以改成右边的MemoryCustomerRespository替换掉当前的EF



    如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    终结篇:MyBatis原理深入解析(二)
    Centos7 安装clamav杀毒
    jenkins 自动化部署
    docker 安装redis
    linux CentOS7 安装字体库-转
    docker 安装jenkins
    linux 下安装docker
    linux 下安装redis
    linux 下mongo 基础配置
    Linux下MongoDB安装和配置详解
  • 原文地址:https://www.cnblogs.com/owenzh/p/11306857.html
Copyright © 2011-2022 走看看