文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

uniapp + bootstrapvue 移动/PC 一套搞定 (一)配置bootstrapvue

1.准备文件 自己到DCloud官网: http://dcloud.io/ 去下载官方的IDE Hbuilder,新建一个空的uniapp项目即可。 uniapp框架自带优化的vue,我们仅仅需要准备以下三个文件: bootstrap.min.css ...

panyunxing
今天
5
0
Android Camera原理之camera service类与接口关系

camera service主要是指 frameworks/av/services/camera/下面的代码,最近在看这一块的代码,为了更好地理清这一块的代码,也为了后续学习camera方便一些,我觉得很有必要理一下这一块的整体...

天王盖地虎626
今天
2
0
Golang学习笔记

[TOC] Golang学习笔记 这个学习笔记是最早在1.初,版本左右的时候写的,和当前最新的版本可能会有较大的差异. 因为成文比较早,文章里面又有很多自己的见解,有些东西当时理解的不太透彻可能写错...

我爱吃炒鸡
今天
8
0
科技赋能成效显著!金融壹账通两大赋能项目荣获IDC大奖

7月19日,2019IDC中国未来金融论坛曁颁奖典礼于北京举办。由金融壹账通赋能的长春农商银行多人视频面审智能风控系统、包头农商银行互联网银行SaaS服务两大项目因在项目的创新性、技术领先性、...

IFTNews
昨天
1
0
HTTP协议

HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据...

Eappo_Geng
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部