• 小白初学Ioc、DI、Castle Windsor依赖注入,大神勿入(不适)


       过了几天,我又来了。上一篇中有博友提到要分享下属于我们abp初学者的历程,今天抽出点时间写写吧。起初,我是直接去看阳光铭睿的博客,看了一遍下来,感觉好多东西没接触过,

    接着我又去下了github 里面下了几个例子来看,看起来还是有点吃力,毕竟我只用过MVC3和asp.net4.0以及EntityFramework3.5 ,突然感觉自己好像跟世界脱轨了,什么IOC只是

    听老师提过,当时不知道有什么用就没怎么听,AutoMapperAngularJSLess什么的没听过。没办法,只好先去一个一个把他们攻下来咯,我先选择了IOC,感觉它好像很厉害的

    样子,上谷粉搜搜找了下资料,IOC控制反转(Inversion of Control),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度,最常见的就是DI依赖注入

    (Dependency Injection)。依赖注入的基本原则是:应用组件不应该负责查找资源或者其他依赖的协作对象。配置对象的工作应该由IoC容器负责,“查找资源”的逻辑应该从应用

    组件的代码中抽取出来,交给IoC容器负责(就是说将对象存放到一个容器里面去,需要使用的时候直接去容器里面取出来用就可以了,容器内部是怎么找到这个对象就不用使用者操心了)。

    这里有说明控制反转和依赖注入的基本知识,就不再重复说,http://zhangjunhd.blog.51cto.com/113473/126530  ,深入理解这里有,

    http://www.cnblogs.com/xingyukun/archive/2007/10/20/931331.html,然后我们需要回到Abp,Abp里面的容器是Castle windsor  这边文章讲的应该是比较清楚了

    http://www.cnblogs.com/RicCC/archive/2010/03/30/castle-windsor-ioc-di.html ,ABP框架对它进行了包装,配置文件上面的代码被以C#代码的形式实现了,所以我们不需要去配

    置文件写代码配置了,我们需要做的就是在每一个Module(模块)里面加上这句 :IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());   从下面这

    个链接里创建生成的模板项目已经自动添加上去了www.aspnetboilerplate.com/Templates ,然后你就可以使用resolve函数取得所需对象了,这里Abp里面的IOC就说完了,本人尚

    年轻,能力有限,如有错误请指出。后面再说关于其他技术的事宜。

     

  • 相关阅读:
    [Zabbix5.0]Transaction check error: file /etc/my.cnf from install of Percona-Server-shared-56-5.6.48-rel88.0.1.el7.x86_64 conflicts with file from package mysql-community-server-5.7.30-1.el7.x86_64
    [CentOS7]Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
    [CentOS7]YUM只下载不安装
    [CentOS7]expect传参
    [CentOS7]查询FCSAN WWN
    [Docker]WARNING: IPv4 forwarding is disabled. Networking will not work.
    [Docker]CentOS8.2安装 Docker-compose
    [CentOS8]安装vmware tools
    [CentOS8]弹出CDROM
    书单
  • 原文地址:https://www.cnblogs.com/shellphen/p/4635109.html
Copyright © 2020-2023  润新知