coldfusion开发人员(的数量)在过去几年中发展迅速。它的最佳做法和设计模式已经走到了前台,已经出现多个不同的框架来帮助社区(进行应用程序开发)。Model-Glue是一个2005年发布的模型视图控制器(Model-View-Controller,MVC)框架。它因为其易用性和灵活性而很快在ColdFusion(CF)社区里流行起来。
Model-Glue在软件工程师中也被称作基于事件的隐性调用框架。您使用XML来公布事件处理器,这些事件处理器通过一个URL或者表单变量被调用。作为响应,Model-Glue会调用Model组件来处理业务逻辑,然后生成用于显示的视图(View)模板。
Model-Glue 1.x广受欢迎,已经应用到很多成功的项目里。但是CF世界在以一种飞快的步伐前进,而Model-Glue的发明人Joe Rinehart已经在奋力开发它的下一个版本。本文的目的就是要让您看看这个叫做Model-Glue:Unity的新版本的功能。
Model-Glue:Unity有什么样的变化?
首先,“Unity(统一)”这么大的一个词是什么意思?它叫做Unity是因为它把另外两个相互补充的coldfusion框架集成为了一个统一的系统。
这第一个互补的框架是ColdSpring。ColdSpring是一个控制倒置(Inversion of Control)包装程序,用来管理coldfusion应用程序里Model的依赖性。此外,ColdSpring还提供了一些非常有用的特性,例如面向剖面编程(Aspect-Oriented Programming)的能力。对ColdSpring的完整讨论请查看与之相关的专门文章。
但是需要注意的一件重要事情是Model-Glue:Unity使用ColdSpring来管理框架组建自身的依赖性。这不仅仅使得MG:U能够更容易地进行自身管理,还意味着所有的MG:U用户都能够利用ColdSpring的优势,而不需要在它们的组件上再花精力。
MG:U里的另外一个框架叫做Reactor。Reactor是一个对象关系映射(Object-Relational Mapping)框架,它和Java的Hibernate在某些方面存在相似之处。通过将XML配置文件和数据库的元数据组合在一起使用,Reactor可以自动生成大量的代码。
所生成的组件都遵循常见的设计模式,例如表格数据网关(Table Data Gateway)、数据访问对象(Data Access Object)、数据传送对象(Transfer Object)和活动记录(Active Record)。就像ColdSpring一样,对于Reactor的完整讨论请查看与之相关的文章。本文关于Reactor的简单介绍是它能够自动地处理与CRUD(创建-读取-更新-删除)应用程序相关的很多常见任务。
Model-Glue:Unity构建在Model-Glue之前版本的基础之上,但是自动融合了ColdSpring和Reactor。因此,Unity给我们带来一些非常有趣和强大的功能。
让Model-Glue:Unity动起来
让Unity运行起来要比以前更加容易。下载MG:U 的压缩文件,解压到Web的根目录下。这个压缩文件包含有MG:U的核心,以及ColdSpring、Reactor、示例程序,以及文档。它还带有一个非常好用的“应用程序模板”,能够在转瞬之间就创建一个应用程序。