文档章节

Mini 容器学习笔记1——环境搭建(基础篇)

netcasewqs
 netcasewqs
发布于 2011/08/26 14:47
字数 604
阅读 54
收藏 1

一. 环境下载

到Mini 容器的官方网站下载NLite框架的二进制文件,下载并解压后就可以了。

我们使用NLite框架需要用到下面的文件:
NLite.dll(必要)

二. 建立NLite应用程序

  1.      新建一个控制台应用程序 HostMini
  2.      添加NLite.dll 引用
  3.      添加命名空间:using NLite;using NLite.Mini;
  4.      在主函数中添加创建Mini容器的代码:var container = new Kernel();
  5.      创建契约接口IMessageSender
  6.      创建组件EmailSender
  7.      通过服务注册表注册组件EmailSender
  8.      通过服务定位器获取契约接口
  9.      调用契约方法:
  10.      运行程序,输出结果
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NLite;
using NLite.Mini;
 
 
namespace HostMini
{
    public class App
    {
        [Contract]
        public interface IMessageSender
        {
            void Send(string message);
        }
 
        public class EmailSender : IMessageSender
        {
            public void Send(string message)
            {
                Console.WriteLine(message);
            }
        }
 
        
 
        [STAThread]
        static void Main(params string[] args)
        {
            var container = new Kernel();
            ServiceRegistry.Current = container;
            ServiceLocator.Current = container;
            ServiceRegistry.Register<EmailSender>();
 
            var component = ServiceLocator.Get<EmailSender>();
            component.Send("Hello by component.");
 
            var contract = ServiceLocator.Get<IMessageSender>();
            contract.Send("Hello by contract");
 
            var componentId = typeof(EmailSender).FullName;
            var instance = ServiceLocator.Get<IMessageSender>(componentId);
            contract.Send("Hello by compoentId");
 
            Console.WriteLine(contract == component);
 
             
            Console.Read();
 
        }
    }
}
从代码中可以看出使用Mini容器非常简单,创建Mini容器,注册组件,获取组件三个基本步骤就可以了。

服务定位器中获取组件的原理篇,可看下文详细介绍。

Mini 容器官方网站:

       http://nlite.codeplex.com/

推荐资源:

Mini容器介绍

Mini容器学习目录

Mini容器学习目录1——环境搭建(基础篇)

Mini 容器学习笔记2——组件元数据(基础篇)

Mini 容器学习笔记3——组件的注册(基础篇)

Mini 容器学习笔记4——组件的生命周期(应用篇)

Mini 容器学习笔记5——组件的获取

Mini 容器学习笔记6——组件的获取(应用)

Mini 容器学习笔记7——构造函数注入

Mini 容器学习笔记8——字段注入

Mini 容器学习笔记9——属性注入

Mini 容器学习笔记10——方法注入

Mini 容器学习笔记11——Lazy注入

Mini 容器学习笔记12——组合实例

Mini 容器学习笔记13——插件注入

Mini 容器学习笔记14——异常处理

Mini 容器学习笔记15——监听器-初始化监听器

Mini 容器学习笔记16——监听器-释放监听器

Mini 容器学习笔记17——监听器-启动/停止监听器

Mini 容器学习笔记18——监听器-AOP监听器

本文转载自:http://www.cnblogs.com/netcasewqs/archive/2010/07/06/1772031.html

netcasewqs

netcasewqs

粉丝 2
博文 2
码字总数 0
作品 1
东城
架构师
私信 提问
Spring.NET学习笔记——目录(原)

目录 前言 Spring.NET学习笔记——前言 第一阶段:控制反转与依赖注入IoC&DI Spring.NET学习笔记1——控制反转(基础篇) Level 200 Spring.NET学习笔记2——环境搭建(基础篇) Level 200 Sprin...

长平狐
2012/06/11
913
1
Moving to Docker(一)

【编者的话】本文是《Moving to Docker》系列的第一篇文章,这个系列的文章讲述了创业公司如何把基础服务迁移到Docker上,以及迁移过程中的经验教训。本文主要介绍了Touchware为什么要从Her...

DockOne
2015/01/31
2
0
Moving to Docker(一)

本文迁移至Docker系列的第一篇,这个系列介绍了我所在的公司是怎么把基础设施从PaaS迁移到Docker上的。如果你对基础已经很了解了,可以直接看本文底部的几个技术专题。 上个月,我一直在折腾...

DockOne
2015/01/31
0
0
和lock一起学beego 博客系统开发为例(三)

mongodb: MongoDB(二):基础知识 Django学习笔记:为Model添加Action 和lock一起学beego 博客系统开发为例(三) 深入Go语言 - 1 django captcha imagintft: 关于captcha使用The _imagingft C ...

d_watson
2016/06/16
18
0
Go语言基础学习:变量

Go语言基础学习(一)变量 猜你喜欢 Ceylon语言学习笔记(1) 《从零开始学Swift》学习笔记(Day 69)——Swift与Objective-C混合编程之语言 go语言学习-常量 GO语言学习-复杂类型(2) Go语言学习...

d_watson
2016/04/15
12
0

没有更多内容

加载失败,请刷新页面

加载更多

spring cloud Zuul API网关服务的学习(1)

在学习了spring cloud的Eureka注册服务,Ribbon客户端负载均衡,Hystrix断路器,已经声明式服务调用Feign后,我们现在理解微服务的架构如下图所示 在整个系统架构对外提供服务时,当客户端应...

太猪-YJ
4分钟前
0
0
决定分库分表的原因有哪些?

写在前面 前几天梁大发表了mysql单表500w数据分表的铁律,也参与了回复,结果同一天隔壁组面试,正好问了下面试者这个问题,面试官想在多方面考察面试者技术扎实程度,结果面试者回答的不好,...

春哥大魔王的博客
4分钟前
0
0
既然反射可以拿到私有成员变量 那private关键字有啥用?

private的意义是什么? 这个网上似乎都有标准答案了,看过之后,我总结如下: private并不是解决安全问题的,如果想让解决代码的安全问题,请用别的办法。 private的意义是OOP(面向对象编程...

Java搬砖工程师
27分钟前
1
0
【图解AI:动图】各种类型的卷积,你认全了吗?

卷积(convolution)是深度学习中非常有用的计算操作,主要用于提取图像的特征。在近几年来深度学习快速发展的过程中,卷积从标准卷积演变出了反卷积、可分离卷积、分组卷积等各种类型,以适...

雪饼
38分钟前
3
0
壮丽70年·奋斗新时代|蒸妙集团熏蒸设备的特点与功效

熏蒸仪具有显著、强大、持久的生理、药理效应。目前熏蒸仪普遍采用先进的中药汽化装置,通过数字智能化控制恒温或者电脑控温,使中药药液产生中药蒸汽。患者在薰蒸治疗时,能通过蒸汽热敷使全...

公益传承
44分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部