这里我不是想宣扬Spring,其实这里我只是把Spring作为一个轻量级容器的代表,这里所说的轻量级容易主要针对IoC容器的方面。
先来看看Framework,现在大家都在谈论Framework。一个项目首先可能会选定技术架构,比如选择J2EE、.Net、PHP+MySql等等,然后才会选择某个技术架构下面的具体的Framework,之后,开发人员就开始完全按照Framework的要求编码、测试。这里出现了一个很严重的问题,就是OO被我们放到什么地方去了?
我们总把OO挂在嘴上,面向对象感觉像是一个很显而易见的东西了。比如用Java(J2EE),你会说,Java是OO的语言,所以我用Java就一定是在OO。真的是这样吗?很多时候我们选择了Framework以后,就让我们的代码变得面向Framework了(FOP),而不是真正的OO了。也许你学会FOP很容易,因为它只是一个提高你的效率的东西,一个工具(这里说工具可能不妥,你或者称它为基础设施);但是如果你学会了OO,你就真的成为软件领域的高手了。我想我这里所说的OO,你不应该理解为学会和使用OO语言,而是理解为OO的思想。我很佩服Martin Fowler,因为他是一位OO的专家。
也许到这里,你会发现我们在软件开发中的一些问题和弊端了。这里我应该说Spring了,请把它作为IoC容器的一个代表。Spring使用起来真的很简单,所以我们学会使用它不能代表什么(我曾经也为自己很早的使用Spring 而吹嘘过,后来才知道自己有多么的愚蠢)。但是你真正理解了Spring给我们带来了什么,要求我们做什么以后,也许你会觉得自己真的差得很远。Spring的哲学,设计好你的POJO的组件,请记住一定要做到你能达到的最好的OO,然后将组件注册到Spring中。我们不需要去花太多的精力去关注Spring的使用,而是应该把更多的精力关注如果做好OO的设计,这也是我非常欣赏Spring的地方。
不管你在用什么,做什么,请不要忘记OO。去看GOF的Design Pattern吧,那才是最绚丽的东西!
posted on 2005-11-22 10:12
JohnLee 阅读(184)
评论(0) 编辑 收藏 所属分类:
Thinking