越来越受不了JAVA的官僚主义了

前言:
    发发牢骚而已。在JAVA的世界里,毕竟还是官僚主义占上风。如果在别的地方发牢骚,肯定要被人批死。在自己的blog。我的地盘我做主。

——start——

    不知道是否是玩python的后遗症,还是一直以来就没有真正的喜欢过JAVA,反正最近是越来越受不了JAVA的官僚主义了。
    开口一定要设计模式,不然现得你浅薄。程序中一定要用很多的框架,不然显得你很没品。千万别题JDBC,别人会当你和很无知,现在都Hibernate3.xx/EJB3了。程序中一定要有很多的接口,不然就是你的设计能力太差,连接口都不用。配置文件也是越多越好,而且都是XML的。即标准又方便,要改的时候改配置文件就可以了。
    设计重要,但重要的是好的设计,不是过度设计。过度的设计同样将带来复杂度的提升。好的设计可以便于日后的扩展,但关键是很多东西是不可以预知的。一个设计不可能在最开始就做得尽善尽美。好的设计应当是一个可重构的设计。
    说到设计,JAVA中的接口是滥用得最厉害的东西。在很多JAVA程序中,有事没事加一堆的接口,还美其名曰解耦。有耦合才需要解,没耦合,你解个啥。就入Dao到service间的接口,好处是实现和调用没有关系,以后换数据库方便。但,有多少情况要换数据库?即使万一真的要换,到时候再重构一次,抽取出个接口能麻烦多少。而且在经过hibernate的封装后数据库间的差别已经消灭得差不多了。
    而且在大多情况下也不是加了接口就一定可以解耦的。接口只是解耦的一种途径,并不是万能药。
    框架也是。现在用JAVA做WEB开发,确实很难不用框架。但框架就和设计模式一样,是为了方便开发的,如果为了框架而框架那就是自讨苦吃。在提供方便性的同时,将一些实现细节进行了封装。如果对框架的理解不够透彻,很可能带来不少问题(最近有些问题比较头大,不知道是否和hibernate+OpenSessionInView有关)。在一个工程中开发框架尽可能统一,这里说的是尽可能,不说一定(绝对就官僚了)。一些简单的问题,为什么就不可以用简单的方法处理?难道写个1+1也要MVC一吧?
    配置文件也是个讨厌的东西。真不知道为什么JAVA要这么多的配置文件。哪有这么多的东西需要在发布后进行修改的。就入struts里的view,难道真的有人在项目发布后修改过?直接在代码中配置,IDE可以提供代码提示等,配置文件的书写比直接写XML流畅得多。