cairngorm注意事项

本文介绍了作者初次接触Cairngorm框架的感受,并详细解释了其多层架构的运作方式,包括视图层产生的事件如何传递到控制器,以及自定义命令如何执行事务等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      这两天玩了一下cairngorm,觉得非常挺有意思的。

      一开始接触cairngorm的时候,看了它的例子程序,觉得非常恶心。哇塞,不就是把一个简答的功能复杂化吗?而且复杂得很离谱,就一个添加对象的功能,从事件生成到记录数据,一共分了event, controller, command, delegate好几层,如果跟spring,hibernate整合,加上后台事务处理还有数据持久化,那就还得多加两层,然后整个系统的架构就真的想一座摩天大楼了。

     鉴于这个n层塔,本来以为学习用cairngorm要挺花时间的,但玩起来发现,其实挺好上手的。这个MVC框架,虽然层多,但逻辑非常清晰,上层到下层如何交互,都有一个明确的思路。这种思路,这种架构,足以应付千变万化的前端开发。接下来让我描述一下一下思路吧:

     首先描述一下cairngorm的分层,还有层与层之间的DTO

 

view —(valueobject, event)— control —(command, delegate)— model

(PS: 红色为软件层,括号里为消息)

 

     view层就是通常的界面,当用户在界面操作时,会产生相应的事件,在事件里可以存储相应的vo,该事件必须继承cairngomEvent。

 

     cairngormEvent发出后,FrontController自动接收event,然后把event映射为相应的command。其中必须注意,事件中不同的类型都要做相应的映射,否则cairngorm无法检测。

 

     command是自定义的,但必须实现icommand, iresponder接口。command映射成功后,然后就根据实现了的execute方法执行事务了。如果要实现跟后台的数据交互,就需要再多建一个delegate对象,主要用于后台数据传输。

 

     其实cairngorm就那么简单,越玩越好玩了。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值