欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring的源头基于构件的软件开发(CBD-Component-Based Development)

程序员文章站 2022-07-03 14:23:53
...
最近有时间看看书补补理论。
看了一些软件体系结构(software architecture)的资料。终于理解了Spring的基本思想。

Spring是在CBD思想指导下开发的轻量级构件模型。

为什么会把spring和ejb进行比较呢?原因很简单,因为spring和ejb都是java的构件标准。都适用于CBD开发方法。

还有一些其他的构件标准:COM/DCOM/COM+、CORBA

我们平常采用的web程序结构:action->service->dao 其实背后的原理是CBD。

在实际的开发中CBD只是提供了开发思想,落地时会有很多的具体问题。比如,CBD并不会规定,web软件要分为action service  dao。

我以前对spring的理解,见
http://www.iteye.com/topic/1141770#2422312,是纯实践角度的。这里写的是理论根源。

理解了这个,就可以明白:
1.spring 不是为了java web开发设计的。只是spring支持java web开发。
2.spring其实不会硬性规定软件构件的结构。
  软件构件的组织是开发者自己的事,spring的存在,是为了提供构件拼装的容器,及辅助功能。

因此,用spring开发java web 有许多问题是需要开发者自己解决的。 简单的照搬别人的spring的应用框架,是开发不出良好的程序的。比如,有如下的常见问题:

1.所有的逻辑都写到dao里。
2.url、action包路径、ftl/jsp等组织混乱。
3.action、service、dao 调用关系混乱。