SpringSide开发实战(八):不是结局的结局,谈谈程序员的境界 - 编程入门网
SpringSide开发实战(八):不是结局的结局,谈谈程序员的境界时间:2011-05-07 blogjava 海边沫沫SpringSide是个好东西,对我来说,它的好主要体现在两个方面:一、它提供了一个敏 捷开发的框架,省去了我自己整合Spring、Hibernate、Struts、ActiveMQ等等开源组件的 时间,而且还是最佳实践;二、它指导了我的学习目标,在SpringSide中整合的各种组件, 都是在同一类组件中最优秀的,而且要想熟练使用这些组件,都必须对它们进行深入的系统 的学习。 本来以为我会在SpringSide开发实战系列中写更多的文章,但是写到现在,我认为应该 要写结局了,为什么呢?因为在使用SpringSide进行项目开发的过程中,我越来越感觉到项 目绝对不是各种组件的简单堆砌,而是程序员要不断有自己的想法和创意,并能够抽象到一 个高度。这也正是为什么我的文章从第一篇到第八篇越来越偏离SpringSide的核心了。在这 里,我主要想谈谈程序员的境界。以下观点纯属个人看法,欢迎大家探讨。 第一层境界:从不能到能。 可以这么说,早在7年前我就已经熟练掌握C语言、Visual FoxPro数据库、HTML、CSS和 JavaScript,C语言和Visual FoxPro是学校教的,HTML、CSS和JavaScript是自学的,同时 ,我还自学了Flash动画制作和Photoshop图像处理。但是,我那时候还不知道应用程序开发 ,学的这些东西无非就是好玩,偶尔参加一次学校主办的网页设计大赛而已。 我开发的第一个应用是《银符英语在线》,使用的是ASP + SQL Server 2000,时间是 2004年,那时我刚考过软件设计师(原高级程序员),有人找我做程序,他说想做一个英语 四六级的在线考试系统,问我能不能做到,我毫不犹豫就说能。我想我确实是具有软件设计 方面的天赋,用了一个星期设计出数据库,再用一个星期写了一个Demo,一下子就把他征服 了,于是,他当老板,我当程序员,一起进行在线英语考试方面的开发。 在这段时间,我觉得我不折不扣就是处于这第一层境界。JScript我早已是滚瓜乱熟, ASP教程更随处可得。在这段时间里,我用全JScript代码实现了用户认证和权限管理,用 Visual C++写了个COM组件进行数据的加密和解密,还在网上到处搜索文件上传和动态图片 生成方面的解决办法。当时,我觉得我的开发过程充实而满足;现在看来,我只不过是一个 重复发明轮子的傻冒。 在10个月的时间里,我把这个程序从1.0版开发到3.0版,功能上进行了不少升级。但是 我认为升级最大的还是我的技术,我尽我最到的能力将代码与网页分离,尽我最到的能力减 少代码的重复,甚至已经基本做到使用模式来让程序更加容易扩充和维护。我所做的一切, 与现代的一些Web开发框架已经不谋而合。但是,以我当时的内力,确实没有办法将之抽象 为一个框架。我的程序中依然充满了意大利面条式的代码,而且在在线人数多的时候,网页 会慢得象蜗牛爬。 第二层境界:从能做到做得漂亮 2005年,我开始接触Java,以我的基础,自然是很快就学会了Java的语法并进军J2EE。 我觉得Java开源世界给了我不少能量,在这两年里,我的进步速度是呈指数式的。以我现在 的水平,仅使用JSP和Servlet,已经足以解决绝大部分的需求。然而,仅使用JSP和Servlet 就是全部吗? 这个时候,我们不仅仅要能够完成应用程序的编写,更重要的要让应用程序便于维护和 便于扩充。这时候,没有足够的抽象能力是不够的。要能够理解和应用分层架构,要知道 MVC、IoC、AOP、ORM,要了解声明式事务处理,还要学会最流行了AJAX。所有的这一切,不 仅能够让我们的应用便于维护,合理使用各开源组件还能加快开发的速度,但是最重要的, 它们能使我们的应用充满艺术的美感。 在SpringSide社区,现在最流行的是Acegi,这也是对安全与权限功能的一种抽象。本 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |