Java/J2EE:这是一个概念横行满天飞的时代
这些年设计和开发领域里发展很快,但是给我的感觉,就是实际的东西比之从前,没有什么大的变化,或者说,变化很多,但是本质性的变化很少。我觉得这是符合一门技术、一门语言的发展规律的。但是不可思议的是,概念的增多却非常非常的块。再换句话说,本质的东西的变化和增加,远远没有概念增加的快。
看看这些年Java/J2EE领域的概念吧,比之雨后春笋,也不遑多让:
Bean(我到现在都没有弄清楚,Bean是什么,说来见笑,Bean和其他Java对象有啥区别?)
依赖反转(IoC)
容器
面向方面的编程AOP
ORM
POJO
SSH/SSI以及其中的一堆概念
MVC
注解
DDD
充血模型、贫血模型
个人感觉,这些概念不排除有很多非常有用,对设计开发起到很好的作用,但是也有不少实际上没有什么新东西或新内容很少。
例如Bean的概念和普通的Java对象,我就看不出大的区别来;POJO更是没有什么本质的区别,只是在普通Java对象上稍加一些约束。
其实我感觉在设计开发这个领域内,应该首先是一系列概念,在这些概念的基础上,建立一些架构,在架构的基础上有实践和实现。概念应该少而且精炼,架构比概念多一些,但是要求精炼的;实现可能五花八门,各色都有。比如开源实现、开源库。
现在看到的现状就是只有在原来的基础上有一点点的不同和增强,就发展出一个新的概念(或者叫名词)出来,让入门者一进来就被这些概念晃晕了。我觉得这反映了近年来技术领域里不好的风气。
我觉得,很多的概念都是一些写书的人带来的,他们为了让自己的书卖得更好,没事就创建新的概念,越乱对自己越好。也许他们也曾经是优秀的开发者,但是现在立场不同,所以做事情做法也不同了。我感觉和“炒作”有异曲同工之妙,只是技术人员的“炒”更为高明一些。
我的看法是所有的设计和开发者面对这些概念,一定要从本质的东西出发来看待它们,掌握背后实质的东西,不被这些东西“乱花渐欲迷人眼”。
一点点浅见,随口乱说,请各位高手不要笑我浅薄鄙陋和狂妄。