关于如何对待技术框架和业务框架的讨论

来源:互联网 发布:淘宝广告位多少钱 编辑:程序博客网 时间:2024/04/29 02:47
原文见 http://forum.hibernate.org.cn/viewtopic.php?t=1032
这是很不错的帖子,国内很少有这样的讨论

以下是摘录的一些内容:

框架技术实际上就是流程固化技术。在框架技术中应用的很多的一种就是回叫机制(callback),对比MFC之类的东西,框架其实就是由设计好的工作流程调用具体的数据结构和算法(在C/C++中使用函数指针,Java中使用接口)。
J2EE我更多的是做为一个框架来理解,而不仅仅是一组API。J2EE面对的问题域主要集中在分布式计算,那么它就固定了一套处理分布式计算的流程。我把它看作一个技术框架,它处理的流程是面向机器的:如何定位资源;如何管理连接;如何传递消息;如何处理事务;如何处理安全等等,这是所有业务的基础。所有的商用逻辑最终都是要转换成这些计算逻辑。
从这个角度看,实际上J2EE的抽象级别还是相当低级的。程序员的作用就是把商业逻辑转换分解为计算逻辑。随着程序的变大,人们自然的想在技术框架上再做一次抽象,把商业逻辑向技术逻辑转换的流程固定下来,这样就可以大大减轻开发的负担。
这样就要求设计者对商业逻辑和技术框架都相当了解,才能完成这个抽象。--谁说软件开发变简单了?
在这个趋势下,程序员的两极分化必定越来越大,一方面向框架的设计者集中,一方面向框架的使用者集中。各种各样的框架也会越来越多。
优秀的开发者会根据合适技术建立适合自己业务的框架,而不是盲目地追逐现有的热门的框架。

在应用软件开发领域,单纯的技术框架是没有多少价值的,因为IT行业已经过了泡沫时期,现在要赚钱,是那些面向行业的的业务框架。不过业务框架相对于技术框架来说,更加难以成功,因为技术框架解决的问题相对明确和简单,而业务框架要解决的商务问题实在太灵活多变了,如果你能够做出一个很好的某行业的业务框架,赚钱是一定的了。  
原创粉丝点击