祸兮福所倚,福兮祸所伏

想随便当个小职员,随便赚点钱然后随便和一个不美也不丑的普通女孩结婚,随便生两个孩子,先生个女孩再生个男孩。等女儿结婚,儿子也能够独挡一面的时候,然后就退休,然后每天过着下着象棋和围棋的悠闲生活。然后在自己的老婆死之前自己先老死这种生活多美好呀!

BlogJava 首页 新随笔 联系 聚合 管理
  0 Posts :: 8 Stories :: 0 Comments :: 0 Trackbacks

    用插件定制扩展
    一个框架必须提供一种容易的创建定制扩展的方式,允许一种插件机制,把外部服务无缝的插入到框架中。要实现这个,框架必须提供扩展点,让一个可插入的组件可以进行生命周期管理(比如init和destroy)。通过提供这样的扩展点,一个开发人员能够写一个服务,该服务能够根据扩展机制确保接口支持,这种插件接口用来控制服务和相关框架资源的创建,使用,清除。
    struts校验就是一个插件例子,它是声明式校验变成可能。struts-config.xml的相应条目描述如下:
      value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>

ValidatorPlugIn类和其它所有插件类有控制器初始化时实例化。每个插件对象使用的className属性实例化。这个插件对象遵循JavaBeans规范的设计模式,对于每个定义在元素的属性都提供了属性处理方法。一旦一个插件实例化,它的init方法被调用,以让开发人员完成插件自己的实例化操作。比如,ValidatorPlugIn.init方法会初始化它的资源并使用ValidatorPlugIn.VALIDATOR_KEY保存资源到上下文中;这些资源将在创建框架的上下文中的org.apache.commons.validator.Validator类的实例时使用。控制器初始化的插件用Action.PLUG_INS_KEY关键字,把org.apache.struts.action.PlugIn对象的数组保存在上下文中,接着使用控制器的destroy方法调用每个插件的destroy方法释放请求的资源。

    摘要
    实现基于http协议的请求/相应的MVC模式所花费的时间和努力会是有利可图的。选择一个合适的框架解决这个问题会提供一个领先的开始,它会允许架构师和开发人员更多的关注业务而不是集成。struts也提供了完整的模块比如validator实现表单的声明式校验,Tiles组织复合视图;这些模块加强了框架的功能,极大的简化了设计和开发应用程序的任务。更多关于struts,安装配置信息可以在http://jakarta.apache.org/struts/userGuide/index.html找到。因为struts一直在修改,可能在你读到本文章的时候,一些实现可能发生改变,因此最好通过http://jakarta.apache.org/struts发布的文档和更新声明完成这些内容

    参考

    [Core] Core J2EE Patterns by Deepak Alur et. al. (Prentice Hall, 2001)
    [Gof] Design Patterns by Erich Gamma et. al. (Addison-Wesley, 1995)

posted on 2005-06-09 09:12 塞翁 阅读(116) 评论(0)  编辑  收藏 所属分类: Java翻译