开发者社区


Web服务 | ASP/ASP.Net | JSP | PHP/Perl | 网站设计
首页 - WEB技术
Web技术
全文搜索:   

抓住机会:ColdFusion正在成为市场新宠
作者: Builder
2006-09-05 16:41:54



用户界面控制器架构

随着ColdFusion的日益成熟,很多开发人员都将其作为构建应用软件的方式。模型-视图-控制(Model-View-Controller)模式是很多开发者采用的软件构建模式,有很多架构可以提供控制功能,最流行的三种是:Model-Glue、Mach-II和Fusebox。

Model-GlueMach-II实际上很相似,它们是基于事件调用架构的,这两种架构通过URL或输入的表单来接受用户请求,对消息进行广播,从而传达到模型组件,然后渲染HTML视图。这两种架构都需要开发者具备面向对象的程序设计经验,因为该模型是使用CFC并按照面向对象方式创建的。

Model-Glue目前的版本是1.1.0,其2.0版本已经处于alpha阶段,Mach-II的版本也是1.1.0,它们两个现在都已经是稳定的架构了,假设您了解面向对象程序设计并且具备构建基于HTML应用软件的知识,那么您可以在这两个架构上很好地工作。

Fusebox是这三者当中最老的也是最流行的,它支持更广泛的编程风格,开发者可以使用过程化的方式或面向对象方式,这对于希望学习面向对象,但是希望逐步采用面向对象模式的开发者来讲是非常棒的选择。即将发布的Fusebox 5版和CFCs一样,完全从头编写的框架,融入了更多的灵活性并保持与Fusebox 4.1应用程序兼容。

缩写词汇:IOCORM

我刚刚提到的三个架构只是MVC模式中的控制器部分,CF社区并没有忘记MVC模式中最重要的部分:模型,模型是一个应用软件的心脏,所有的处理过程与商业逻辑都是通过模型进行的,我想大部分开发者都会同意模型是有意思的事情的发生地。

ColdSpring是一个用于ColdFusion应用软件的逆向控制(Inversion of Control (IOC))容器,它和Java的Spring架构的工作方式类似。最基本的想法是:您的模型组件越复杂越面向对象,则越难以管理它们之间的依赖关系。ColdSpring提供了一种简便的方式来连接(wire together)您的CFCs。

ColdSpring可以完成注入CFC到其它的CFC或强制一个CFC与其它独立的CFC建立关联的工作,而不需要您手动完成这些任务。更好的是,如果您希望的话,它还可以将单独的组件实例缓存到内存中,这样今后调用它们的时候速度就会非常快(这也被命名为独立设计模式(Singleton design pattern))。作为一个免费附带的奖励,ColdSpring还支持一系列面向方面的程序设计(Aspect-Oriented Programming)的功能。

Reactor是一项正在展开的工作,它致力于为ColdFusion应用软件创建一套对象关系映射API(Object-Relational Mapping API)。这是一项极具挑战的事业,但它的有效性和能量已经在CF的世界中引起了巨大的波澜。Reactor从数据库中读取元数据,然后自动生成组件,该组件可以对数据库进行抽象,并提供验证逻辑。Reactor创建的组件遵循很多已经确立的设计模式,比如动态记录(Active Record)、数据访问对象( Data Access Object)和表格数据网关(Table Data Gateway)。也许最强大的特色就是它可以与很多数据库协同工作,包括SQL Server、Oracle、MySQL、DB2和Postgre,这意味着一个应用软件可以以一种实质上透明的方式从SQL Server转换到Oracle。

一个正在成长的社区

也许ColdFusion复兴的最明显的一个原因就是开发者社区本身,ColdFusion非常易于使用,很多没有软件工程背景的人都可以很快学习并开始使用,目前正在快速显现的焦点是最佳方法与有效的面向对象开发。

正如您从这篇文章中推测的一样,CF的开发者正在拥抱面向对象的程序设计和面向模式的开发方法,活跃的大型邮件列表和论坛比如CFCDev和CF-Talk里充满了这类主题。很多开发者的博客流量很大,而且现在至少有三个播客在提供相关的内容。这正在创建一个反馈的循环,社区学到的更多,就能共享更多,而它共享的更多大家就能学到更多。

播客

    * Helms and Peters

    * ColdFusion Weekly

    * ColdFusion Podcast

在2006年6月,举行了第七界CFUnited 会议,这次历时四天的会议一共包括75个研讨会,今年的与会者预计将超过1100人。在今年早些时候,CFObjective会议在明尼阿波利斯举行。相对CFObjective而言,CFUnited会议的范围更广泛,而CFObjective则更关注企业级软件的设计和开发。

在众多开放源代码的项目中,CFEclipse项目构建了一个基于Eclipse平台的优秀的并且免费的ColdFusion集成开发环境,CFEclipse是真正为开发人员使用的,而且它一直在不断改进,几乎每天都会编译新的版本。

最后,现在甚至部署CFML代码都有了更多的选择,NewAtlanta公司最近发布了一款名为BlueDragon.NET的产品,Adobe的ColdFusion MX运行在J2EE平台,而BlueDragon.NET则允许将CFML代码部署在微软的.NET平台之上。MySpace.com是当前流量最大的三家网站之一,它就是运行在BlueDragon.NET之上的,这展示了BlueDragon.NET所提供的强大功能。

活蹦乱跳的ColdFusion

我希望这篇纲要可以证明ColdFusion的活跃,实际上,伟大的事情正在以比我以往所见过的所有事情更快的速度发展(我使用ColdFusion已经超过十年了),Adobe是CF的坚定后盾,社区正在接受挑战,并不断推进最佳实践和企业开发。从架构到AJAX工具到Flex用户界面的这些新的方法正在以每周一个的速度出现,今后的文章将会深入讲解这些主题,如果您最近还没有接触过ColdFusion,那么现在就是最好的时机,下载免费的开发者版本,您就会发现现在成为一个ColdFusion开发者的伟大时机。

责任编辑:张琎

查看本文国际来源

【上一页】
声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号