[转帖]如何使用框架_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3294 | 回复: 0   主题: [转帖]如何使用框架        下一篇 
一路向北
注册用户
等级:少校
经验:903
发帖:56
精华:6
注册:2012-12-19
状态:离线
发送短消息息给一路向北 加好友    发送短消息息给一路向北 发消息
发表于: IP:您无权察看 2012-12-20 14:02:43 | [全部帖] [楼主帖] 楼主

现在的框架多如牛毛,每种框架都会告诉你如何使用它。遗憾的是,仅仅从这个角度来看如何使用框架,一般都用不好。为什么呢?想想下面这个问题。

你想过框架升级/替换带来的问题吗?

举个例子,你已经使用了jBPM3,当jBPM4、5来的时候,你将如何把它们引入到自己的系统,并替换原有的框架,你将付出怎样的代价来做到这一点?

如果你从来没有想过上面的问题,你的系统往往和框架绑定过紧,在你的业务逻辑代码中,混杂着某个框架或某个框架版本的API。当新的框架面世时,你只能在一边垂涎三尺,或者花费巨大的代价来做出改变。原因很简单,因为你没有从架构的层面考虑可移植性问题。可移植性,很简单的一个词,但你真正理解它了吗?

基于可移植性,你就会正确地使用框架。下面画了一张图。

北京联动北方科技有限公司

图中,左边的Framework是可替换的,右边的Business Logic是业务逻辑,其中只包含模型,基于模型的计算,以及开放出来的API,理想的情况下,只包含POJO,中间的Bridge Layer是针对Framework和Business Logic的桥梁。开发人员致力于Business Logic和Bridge Layer,其中,Business Logic是独立演化的,不受外界的影响,Bridge Layer会随着Business Logic和Framework的变化而变化。Bridge Layer中不包含任何业务逻辑的实现,它只是在Framework和Business Logic之间建立联系,例如,流程中的一个Action,这个Action只是根据流程的业务含义,转调Business Logic中的API。

需要注意的是,Framework是驱动方,而不是Business Logic。Framework根据Bridge发出的信号,驱动Bridge的工作,Bridge的工作内容,就是调用Business Logic中的API,从而完成业务逻辑。如果用Business Logic来驱动Framework,就是绑定过紧的开始。

基于上述的理论和概念,才能真正用好框架,尤其是解决可移植性问题,这一点很重要。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论