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()方法.

  • 相关阅读:
    [C#] 等待启动的进程执行完毕
    C# 、winform 添加皮肤后(IrisSkin2) label设置的颜色 无法显示
    Mysql 备份
    Mysql 慢查询日志配置
    Mysql 忘记密码处理配置
    PHP-FPM 慢执行日志、网站隔离配置
    PHP-FPM 设置多pool、配置文件重写
    Nginx 代理配置
    Nginx 301与302配置
    Nginx URL跳转
  • 原文地址:https://www.cnblogs.com/maplye/p/362938.html
Copyright © 2011-2022 走看看