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

  • 相关阅读:
    HDUOJ---2152
    HDUOJ ---悼念512汶川大地震遇难同胞——来生一起走
    HDUOJ --2566
    HDUOJ ----1709
    HDUOJ---1171
    HDUOJ ------1398
    catalan---卡特兰数(小结)
    向前字典排序
    HDUOJ--Holding Bin-Laden Captive!
    HDUOJ----Ignatius and the Princess III
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/10363115.html
Copyright © 2011-2022 走看看