博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
任务17:从UML角度来理解依赖
阅读量:4512 次
发布时间:2019-06-08

本文共 553 字,大约阅读时间需要 1 分钟。

 

 什么是依赖

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

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

 

 

 

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

 

 

 

 显式依赖于隐式依赖

怎么理解隐式的依赖呢?

 

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

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

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

 

 

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

依赖倒置

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

CustomerController就是一个高层的业务。

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

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

通过Respository

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

 

转载于:https://www.cnblogs.com/wangjunwei/p/10363115.html

你可能感兴趣的文章
C语言对结构体何时用-> , 何时用.
查看>>
Android 常用命令集的使用
查看>>
Android ADT,SDK的安装,让人烦恼的在线方式!
查看>>
mac显示隐藏文件
查看>>
RobotFramework下的http接口自动化Follow Response关键字的使用
查看>>
this&super两个关键字的意义和用法
查看>>
Spring基础内容一
查看>>
鹅厂欧阳大神给年轻人的一些分享
查看>>
RocketMQ服务搭建_1
查看>>
CentOS7 安装 Docker
查看>>
Redis常见问题
查看>>
Android自带样式
查看>>
iSCSI 原理和基础使用
查看>>
Gym101350 J Lazy Physics Cat
查看>>
Java读取文件方法大全
查看>>
解决mysql无法显示中文/MySQL中文乱码问号等问题
查看>>
CentOS 7.2 配置mysql5.7
查看>>
第一次写博客用来记录自己的工程师生涯。
查看>>
python输出转义字符
查看>>
java基础43 IO流技术(输入字节流/缓冲输入字节流)
查看>>