nuity 学习之路 一、简单应用
来源:互联网 发布:域名缩短器 编辑:程序博客网 时间:2024/06/08 09:12
一、 学了J2EE的spring 后,着手研究下.net的 ioc框架,在mvc 4 中集成unity的框架的案例较多,所以选择学习这个轻量级的ioc框架。
依赖注入的核心是要有抽象,否则何来注入了。所以先定义一个计算接口
namespace MyUnity{ public interface IComputer { double GetResult(double numA, double numB); }}
具体的两个运算类:
namespace MyUnity{ public class MulOperation : IComputer { public double GetResult(double numA, double numB) { return numA - numB; } } public class AddOpertaion : IComputer { public double GetResult(double numA, double numB) { return numA + numB; } }}
static void Main(string[] args) { IUnityContainer unityContainer = new UnityContainer(); unityContainer.RegisterType<IComputer, AddOpertaion>(); // IComputer computer = unityContainer.Resolve<IComputer>(); Console.WriteLine(computer.GetResult(2, 3)); }
二、以前在spring 中,只要把个属性写个标记,那么spring就会把这个属性注入进来,但是这里如果自己手动实例化那个类的话 即使标明了注入属于 也会是NULL。
所以如果这个类的属性要由Unity来管理的话 那么这个类也必须有Unity来管理,否则无法注入
class Program { static void Main(string[] args) { IUnityContainer unityContainer = new UnityContainer(); unityContainer.RegisterType<IComputer, AddOpertaion>(); // object myClass = unityContainer.Resolve(typeof(MyClass)); Console.WriteLine((myClass as MyClass).GetResult(1, 23)); } } public class MyClass { [Dependency] //注入属性 public IComputer computer { get; set; } public double GetResult(double numA, double numB) { return computer.GetResult(numA, numB); } }
- nuity 学习之路 一、简单应用
- nuity 学习之路 二、配置
- Java WEB之Servlet学习之路(一)一个最简单的Servlet应用
- quartz之简单应用一
- <Android 应用 之路> 每日一文简单版<Kotlin>
- Nhibernate学习教程一 简单的应用
- 部署WebService(一)--------之简单应用
- listview简单应用之ArrayAdapter(一)
- OpenGL-学习之路-简单二维几何变换及应用
- AngularJS学习之路(一)AngularJS简单操作
- Qt学习之路一(一个简单的时钟)
- rabbitmq学习之路(一)安装以及简单使用
- 学习spring mvc之路一:简单的Hello word
- python学习之路(一)简单验证码识别
- JAVA学习之路-简单的城堡游戏(一)
- php学习之简单应用(0)
- PHP学习之简单应用(1)
- 学习笔记之Oracle(简单应用)
- C陷阱与缺陷(四)连接
- SAP企业移动平台开发探索系列 - 序
- 结构型设计模式学习
- VMWare debug config 利用虚拟机进行远程调试的配置
- 最大回文数问题
- nuity 学习之路 一、简单应用
- Tfs 自动部署 部署图
- 如何修复硬盘坏道(360)
- 字符串的交换
- WinForm中获取鼠标当前位置
- GUI 编辑框中读写矩阵
- matlab成段注释
- 4_4正整数类
- Winform中绘图(椭圆,直线等)