zoukankan      html  css  js  c++  java
  • Castle Startable Facility 简单理解

    最近在研究Castle开源项目,就下午学习Startable Facility的一些简单理解,纪录下来,
    由于Castle的学习资料相对比较少,而且大部分都是英文资料,一些中文的资料自我感觉学习起来比较生涩,
    所以,我希望能够用很通俗易懂的方式来学习了解他,这样也就难免有不完整的地方,废话少说.
    Facility是Castle容器的扩展单元,并具有注入性,简单的说就是不更改原有组件的基础上注入你所需要的功能代码,
    Facility就相当于原有组件的"寄生虫",本篇介绍的Startable Facility是Castle自带的一个非常简单的Facility,
    该Facility可以在原有组件创建和销毁的时候自动执行代码.
    首先,我们要建立这个"寄生虫"类TestStart,该类继承IStartable,该接口定义了start和stop方法

    public class TestStart:IStartable
    {
     public TestStart()
     {
     
     }
     public void Start()
     {
      MessageBox.Show("testetsete");
     }

     public void Stop()
     {
      ....省略
     }
    }


    然后,将"寄生虫"装入容器
    public class App
    {
     [STAThread]
     public static void Main()
     {
      IWindsorContainer container = new WindsorContainer();

      container.AddFacility( "startable", new StartableFacility() );

      container.AddComponent( "test",typeof(TestStart) );
     }
    }
    这样当你运行的时候,就会弹出一窗口,也就会执行TestStart的start()方法.

  • 相关阅读:
    求100之内能被3整除不能被5整除的所有整数,和个数
    三目运算符的优先级问题
    javac不是内部或外部命令
    GitHub : Hello World
    Java GUI :Hello World
    onClick="RETURN:login();"
    问题-CHM文件不显示
    jsp里导入java包的问题
    实现算法2.2的程序
    实现算法2.4的程序
  • 原文地址:https://www.cnblogs.com/maplye/p/362938.html
Copyright © 2011-2022 走看看