
C# Spring.Net
Wang Jianguo
ThinkFirstPromLast
1.保持简单直白(Keep It Simple Stupid)
2.不要自我复制(Don’t Repeat Yourself)
3.能干的人解决问题。智慧的人绕开问题(A clever person solves a problem. A wise person avoids it)
4.沉默会被理解为赞同(Silence is construed as approval)( Picked from Kevin blog )
5.先想好,后编程(Think first, Program later)
展开
-
Spring.NET教程(一)——控制反转(基础篇)(转)
控制反转(Inversion of Control,英文缩写为IoC),也叫依赖注入(Dependency Injection)。我个人认为控制反转的意思是依赖对象(控制权)发生转变,由最初的类本身来管理依赖对象转变为IoC框架来管理这些对象,使得依赖 脱离类本身的控制,从而实现松耦合。 我们先来看一段代码namespace Dao{ ...转载 2018-05-17 13:05:00 · 917 阅读 · 1 评论 -
Spring.NET教程(二)——环境搭建(基础篇)
用VS2015新建一个基于Console的Spring.Net应用程序,在菜单栏中选择 项目--管理NuGet程序包。选择浏览,搜索Spring.net,会出现很多关于Spring.Net的包。 选择Spring.NET框架经常用到的以下几个文件: Common.Logging.dll(必要) Spring.Core.d...转载 2018-05-17 16:59:59 · 1178 阅读 · 0 评论 -
Spring.NET教程(三)——实现一个简易的IoC框架(练习)
一、思路 在我们使用Spring.NET框架的时候,首先需要实例化Spring.NET容器, 然后调用IoC容器IObjectFactory接口中GetObject方法获取容器中的对象。通过这一点就可以告诉我们制作IoC容器需要写一个获取 XML文件内容的方法和申明一个Dictionary<string, object>来存放IoC容器中的对象,还需要写一个能从Dictionary&...转载 2018-05-17 17:28:50 · 761 阅读 · 0 评论 -
Spring.NET教程(四)——对象的创建(基础篇)
创建对象一般有3中方式:1.构造器创建。2.静态工厂创建。3.实例工厂创建。多数情况下,容器会根据对象定义中的type属性值去直接调用响应类型的某个构造器。另外,容器也可以调用工厂方法来创建对象,这时type属性的值就应该是包含工厂方法的类型(注:而不是要创建的类型,但通过该对象定义的名称获取的是由工厂方法所创建的对象)。工厂方法的产生对象可以是工厂方法所在的类型,也可以是其他类型(注:很多情况下...转载 2018-05-22 14:21:44 · 876 阅读 · 0 评论 -
Spring.NET教程(五)——容器中对象的作用域(基础篇)
容器中对象的部署分为两种方式:singleton和非singleton(java里叫prototype)。这里的singleton指的是“单例模式”,就是说当一个对象被定义为singleton时,容器中就只会有一个共享的实例,任何时候通过id或别名请求该对象都会返回这个共享实例的引用(也就是说这个对象只会被创建一次)。当使用非singleton,或者说原型模式布署时,每次请求对象都...转载 2018-05-23 10:43:41 · 366 阅读 · 0 评论 -
Spring.NET教程(六)——依赖注入(应用篇)
谈到高级语言编程,我们就会联想到设计模式;谈到设计模式,我们就会说道怎么样解耦合。而Spring.NET的IoC容器其中的一种用途就是解耦合,其最经典的应用就是:依赖注入(Dependeny Injection)简称DI,目前DI是最优秀的解耦方式之一。下面我就来谈谈依赖注入的应用场景。我模拟了三种不同的场景,可以一起学习使用依赖注入的重要性。 下面是应用场景的条件:人类使用工具劳动。 /...转载 2018-05-23 10:51:30 · 614 阅读 · 0 评论 -
Spring.NET教程(八)——集合类型的注入(基础篇)
Spring.NET还支持集合类型的注入。而且使用起来也比较方便。 一、ILIst类型 使用<list>元素作为ILIst的标签,value为集合中元素的值。也可以注入对象,甚至关联其它对象,使用 <ref/>元素表示关联的对象,object 属性为所关联对象的id或name。集合可以为空,用<null/>元素来标记。 在<list>元素中设置...转载 2018-06-11 13:11:30 · 695 阅读 · 0 评论 -
Spring.NET教程(七)——依赖对象的注入(应用篇)
一、属性注入之前简单提到依赖注入的用途。在教程6中,发现object节点下使用了<propertyname="Tool"ref="computer"/>,而property标签正是用来属性注入的,而ref是用来标识关联到哪个object。而name属性是指属性名。如下: <object id="modernPerson" type="SpringNetIoCDi.ModernP...转载 2018-05-24 14:15:06 · 1167 阅读 · 1 评论