从学校毕业,自我感觉在J2EE一块学得还不错,初涉江湖,尤其是在如今框架流行的年代,SSH自然成了我骄傲的资本,一说框架,我精神抖擞,滔滔不绝,能说上个把小时绝对不成问题。当别人与我谈技术,我开口闭口就是框架,绕道那些最基本的、核心的技术。      但自从进入那家公司后,我彻底改变了。面试时主管没主动问我框架的问题,但当我极力往框架上谈的时候,他的不知哪来的一个关于框架问题把我卡住了,真是自找麻烦!正式上班后,我才知道主管根本就没学过框架,公司内部专门有专门为自己量身编写的插件,使用起来方便、易懂、轻巧,也得承认,内部的插件肯定没外面流行的功能齐全、强大,但用得心知透明。我们使用外面流行的插件,往往没有深究,稍微复杂一点,我们就懵了,往往是知其然不知其所以然,更头疼的是,出了错还不知道错在哪里!     框架中起核心作用的就是配置文件,也就是说它带来的效益就看你怎么配置了。诚然,框架是可以为我们的开发带来方便,减少一定的工作量,加快一定的开发进度(这我都有点怀疑了),但任何事物都不是绝对的,有积极的一面,就必然有消极的一面,比如说Hibernate会因为你的一个小小属性的配置,将你本不需要的信息加载全部到缓存中,这无疑会大大增加服务器的负担。如今,我越来越感觉到,框架是柄双刃剑,用好了自然好;用不好,对网站或系统就是致命的打击。在我印象中,一个好的软件的定义,没加入框架的成分吧!一个没有自己特色的公司,至少我认为,不会走得太远!

解决方案 »

  1.   

    将自己平时工作的经验不断积累,自己就可以开发出一个适合自己快速的框架不防参考:http://www.jxva.com/framework 
      

  2.   

    最后一句话似乎有些突兀。嗯,我一直对框架抱有批判性看法,跟楼主的理解差不多。反正SSH我是至今没拿来做过一个项目。
      

  3.   

      感觉楼主的思想 已经算是比较先进的了 框架诞生的原因其实就是为了 简化程序的开发 把一些重用性极高的东西都封装了一下让你用的得心应手 但是对于一些急于求成的coder而言 框架于他们只是一个只需要知其然就足够了的东西并不是非得知其所以然 于是在对框架的使用过程中一旦出现任何问题 他们就不知所措  估计这个就是楼主的意思了吧 其实框架并没有什么不好 但是前提是你得知其所以然 而且知道什么类型的项目选什么框架 而不是只会天天在嘴上挂着 ssh  
      

  4.   

    使用纯框架是比较麻烦。一般都是再进行一下二次封装。使开发人员更快速更方便的使用。另外,好东西吃多了也不好^^所以说什么东西的使用都是要有个“度”。
    超过了都会有副作用。随便说两句good luck
      

  5.   

    嗯。部分赞同楼主的看法。但框架的使用绝不是简单的减少工作量、加快开发速度,使用框架在某些程度上会增加系统的稳定性,维护性,扩展性, 提高系统效率。框架不会适用所有的情况,不过框架也不是一无是处,毕竟自己写框架是一个繁重而且危险的工作,如果没有相当的经验和需要,还是使用成熟框架比较好。记得好像是J2EE Expert One-to-one 里面讲过的一句话,自己写框架必须要慎之又慎,一定要100%确定现有框架不适合你的工程,而自身又有能力去驾驭框架才考虑自己写,因为在这个过程中一个小小的设计失误都可能会导致不可修复的bug从而出现整个开发失败的情况。个人认为目前流行的框架都比较成熟,而且产品众多,为开发者提供了选择,一般都能满足需求。就我的经验来看,现在还没有遇到过一个需要自行开发框架的工程。好奇而已,我想知道楼主被哪个框架的问题卡住了?
      

  6.   

    没看出框架有什么不好地."
    正式上班后,我才知道主管根本就没学过框架,公司内部专门有专门为自己量身编写的插件,使用起来方便、易懂、轻巧,也得承认,内部的插件肯定没外面流行的功能齐全、强大,但用得心知透明。我们使用外面流行的插件,往往没有深究,稍微复杂一点,我们就懵了,往往是知其然不知其所以然,更头疼的是,出了错还不知道错在哪里!
    "如果你能把框架用得"心知透明",你就不会"出了错还不知道错在哪里"了.任何事物都具有两面性,这是哲学,放之万物皆为准的东西,放到框架上讨论没什么意义.学习框架不只是学习它的API使用和配置文件.框架的思想才是我们最需要学的...虽然我只学API使用,但是道理我们还是要知道地.
      

  7.   


    往事不值一提,现在转攻J2EE 13种核心技术,研究设计模式了,要达到真正意义上的熟练至精通!
    也许是造化弄人,作为Java程序员竟然PK掉了其他.Net程序员,面试上了.Net开发,这都得益于在那公司培养的扎实的功底:摆脱开发工具的依赖,手动建项目,配置文件,用记事本编写程序,并能一次运行成功,震撼了PM,呵~~
      

  8.   

    设计模式乃建立于抽象的基础之上,于是,我更相信抽象才是面试对象中核心的核心,偏向于说Java是一种抽象的语言。它的主题就是 对可变性的封装 ;为了实现这一目标,六大设计原则应运而生:
    1.“开-闭”原则
    2.里氏代换原则
    3.依赖倒转原则
    4.合成/聚合复用原则
    5.迪米特法则
    6.接口隔离原则
    于是才有了系统的可复用性和可维护性,才达到了系统的稳定性、灵活性、扩展性, 以致提高了系统效率。