IT学习站-137zw.com

more +资源更新Forums

more +随机图赏Gallery

Java程序员面试笔试真题与解析 完整pdf扫描版Java程序员面试笔试真题与解析 完整pdf扫描版
价值348元 RabbitMQ消息中间件技术精讲2018视频教程 百度云价值348元 RabbitMQ消息中间件技术精讲2018视频教程 百度云
10节课让你成为滚床单高手  强烈推荐 屌丝的福音10节课让你成为滚床单高手 强烈推荐 屌丝的福音
Spring Boot编程思想(核心篇) PDF 电子书 百度云 网盘下载Spring Boot编程思想(核心篇) PDF 电子书 百度云 网盘下载
最新流出的传智博学谷黑马python5.0课程最新流出的传智博学谷黑马python5.0课程
MySQL视频教程价值288元MySQL面试指南视频教程 百度云 百度...MySQL视频教程价值288元MySQL面试指南视频教程 百度云 百度...

基于.net EF6 MVC5+WEB Api 的Web系统框架总结(3)-项目依赖注入

基于.net EF6 MVC5+WEB Api 的Web系统框架总结(3)-项目依赖注入

[复制链接]
李志敏 | 显示全部楼层 发表于: 2019-11-14 15:00:07
李志敏 发表于: 2019-11-14 15:00:07 | 显示全部楼层 |阅读模式
查看: 84|回复: 0

你还没有注册,无法下载本站所有资源,请立即注册!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

  • 简介
  依赖注入主要是一种结构性的模式,注重的是类与类之间的结构,它要达到的目的就是设计原则中最少知道和合成复用的原则,减少内部依赖,履行单一职责,最终就是强解耦。依赖注入目前最好的实现就是依赖注入容器。

  Unity是微软Patterns & Practices团队所开发的一个轻量级的,并且可扩展的依赖注入(Dependency Injection)容器,它支持常用的三种依赖注入方式:构造器注入(Constructor Injection)、属性注入(Property Injection),以及方法调用注入(Method Call Injection).

  本项目基于Unity,减少内部依赖,实现项目解耦。基于LGPL协议开源。


  2.项目源码

  3.调用示例

  下面演示调用此程序示例:

  首先我们创建数据操作基础项目,定义IDataBase接口,定义一获取名称的方法。

       创建SQLSERVER项目,定义SqlDataBase实现IDatabase接口。

  创建MySql 项目,定义MySqlDataBase实现IDatabase接口。
  创建数据操作工厂项目,定义DataFactory实现根据参数调用不同的实现类。
  创建Console程序进行测试  项目结构大概是这样的:
基于.net EF6 MVC5+WEB Api 的Web系统框架总结(3)-项目依赖注入  技术博客 28607-20190910151241079-181824640

  运行结果:
基于.net EF6 MVC5+WEB Api 的Web系统框架总结(3)-项目依赖注入  技术博客 28607-20190910152614229-1487831254

  4.Unity调用
  假设此时,如果我们需要实现其他数据库操作,实现IDatabase接口时,除了增加其他数据库操作项目,还得修改、调整数据操作工厂项目。

  但是如果我们的数据操作工厂项目改用依赖注入的方式,工厂项目是不需要引用SQLSERVER项目、MySQL项目及其他数据库操作项目,可以不改动工厂项目的情况下,主程序直接在配置文件中添加相应的操作项目及类,以达到面向接口开发、减少内部依赖、实现项目解耦。

  项目添加程序包

基于.net EF6 MVC5+WEB Api 的Web系统框架总结(3)-项目依赖注入  技术博客 28607-20190910152813782-1823118500

  主程序配置文件(App.Config或Web.Config)增加配置

  配置接口,接口实现对象

  工厂项目实例调用

  运行测试结果达到工厂模式同样的效果,并且可扩展性更强、项目解耦,减少项目依赖。

基于.net EF6 MVC5+WEB Api 的Web系统框架总结(3)-项目依赖注入  技术博客 28607-20190910153357805-970840092

  至此,项目介绍完毕,更多精彩,且听下回分解!

来源:http://www.137zw.com
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
137zw.com IT学习站致力于免费提供精品的java技术教程和python技术教程,CCNA书籍/资料/CCNP书籍/资料教程/CCIE书籍/资料/H3C学习/认证/一级建造师考试/微软学习/认证/包括基础教程和高级实战教程,同时也提供分享网站源码下载和互联网相关一系列的技术教程,我们想做的就是让知识分享更有价值!(IT学习站官方唯一域名地址:www.137zw.com 请谨防假冒网站!)本站所有资源全部收集于互联网或网友自行分享,分享目的仅供大家学习与参考,如无意中侵犯您的合法权益,请联系本站管理员进行删除处理!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

浙ICP备19022368号-1|Archiver|手机版|IT学习站-137zw.com

GMT+8, 2020-7-10 23:52 , Processed in 0.239039 second(s), 53 queries .

快速回复 返回顶部 返回列表