彩票走势图

Spring.NET学习笔记11——自定义对象行为(基础篇) Level 200

原创|其它|编辑:郝浩|2009-11-18 10:28:17.000|阅读 783 次

概述:Spring.NET通过几个专门的接口来控制容器中对象的行为。说到对象的行为无非就要提到对象的生命周期控制。类似在WinForm开发,Form生命周期中,Load方法为Form的载入方法和Dispose方法为Form的销毁方法。Spring.NET都能完美的实现这些需求。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  通过几个专门的接口来控制容器中对象的行为。说到对象的行为无非就要提到对象的生命周期控制。类似在WinForm开发,Form生命周期中,Load方法为Form的载入方法和Dispose方法为Form的销毁方法。都能完美的实现这些需求。   

  

  一、生命周期接口
  在使用框架的时候通常遇到怎样初始化和销毁非托管资源(如数据库连接)的麻烦,下面的解决方案可能对您有所帮助。
  1.初始化行为
  继承Spring.Objects.Factory.IInitializingObject接口或者配置object节点的init-method属性,的框架就会帮我们在该对象被实例后调用配置好的初始化方法。
  2.销毁行为
  继承System.IDisposable接口或者在object节点配置destroy-method属性,会帮我们在容器被销毁时调用它。

  实现代码:

Person

 

      <!--生命周期接口-->
      
<object id="person" type="SpringNetProcessor.Person, SpringNetProcessor" 
       &nbsp;      init-method
="Init" destroy-method="Destroy" />

 

  二、抽象对象定义和子对象定义

  对象定义可能会包含大量的信息,比如与容器相关的信息(即初始化方法、静态工厂方法名等)、构造器参数和属性值等。子对象定义是指从一个父对象定义中继承了配置数据的对象定义。子对象定义可以根据需要重写或添加某些配置的值。使用父对象和子对象的定义方式可能会节省大量的键入工作。实际上这是设计模式中模板模式的一种形式。个人认为可以解决“子类”与“父类”之间的耦合。
  在object节点中设置parent属性来指明是继承关系,而并非正真意义的继承。

  实现代码:

Code

 

    public abstract class Parent
    
{
        
public string Name getset; }
    }


    
public class Child
    
{
        
public string Name getset; }
    }

 

  我们可以看出Child类并没有继承Parent类。

 

  输出效果:

 

  

 

  


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP