IT人士未来发展出路何在?
2005-03-23 19:22:26
来源:星星生活

程序员的唯一出路是软件设计和架构。软件设计和架构的资料比比皆是。Go F Patterns(1994),充满Design Pattern和Best Practice的Java(1995),以Internet为基础的IT Infrastructure等等,都极大地提高了程序员设计和架构的知识和技能。然而,软件质量仍然不理想。病源何在?出路何在?

资金流向廉价劳动力地区是生产力发展的必然结果。软件outsource去亚洲仍然处在一个初级阶段。软件设计和架构的质量直接影响到outsource的成败。Outsource回流北美,其原因就在于outsource亚洲的软件质量不理想。病源何在?出路何在?

病源何在?答案就是,我们使用的编程语言!程序设计与编程语言是互相牵制的。我们的Design Pattern和Best Practice,软件设计和架构技术等等,都是建立在现有的编程语言,包括Object-Oriented语言,Procedural语言和Functional语言之上的。尽管这些语言的机制体现大不一样,但是它们都只能够做到单一的划分组合,也就是functional decomposition into some form of generalized procedure。这使得我们的程序设计思想被局限在一个单一的模式之中。具体来说,就是将一个系统分拆成许多足够小的功能单元,而程序员则用编程语言提供的机制去定义概括这些单元,并将这些单元组织成一个完整的系统。当两种不同的组合需求必须融合在一起的时候,也就是当这些组合互相cross-cutting的时候,程序员不得不采用手工的方法将它们组织成一体。这导致了程序的复杂和扭曲。比如,程序从768行剧增到35213行。这种cross-cutting的情况是在有aspect参与组合的时候发生的。一个aspect是一种不能够完整地包含在一个generalized procedure里的单元,这种单元不是系统的功能单元,而是一个“属性”单元,加载于系统里的功能单元之上。遗憾的是,这种“属性”单元是所有软件设计都无法避免的,因为它们是软件架构以及软件产品本身的属性。尽管RUP极力倡导Layered Component Architecture,尽管Design Pattern和Best Practice也都绞尽了心机,尽管EJB和Dynamic Proxy提供了一定的能力和解决方案,但软件质量仍然不理想。

出路何在?答案就是,Aspect Oriented Programming (AOP)! 为了解决cross-cutting的问题,国际上有众多的研究方向。AOP的目标就是提供一个机制使得程序员可以清楚地将功能单元和aspect分离,并且将aspect完整的包含在一个独立的单元之内,从而消灭cross-cutting的问题。它从根本上解决了一个现在所有的编程语言都无法解决的问题,并被公认为是最好的解决方案。它是一个极强有力的工具,用来设计和构架未来高质量的软件系统。这样的软件系统更模块化,可测试性更强,更具发展性,而且更容易维护。AOP从根本上改变了我们的程序设计的思想及方法,它是未来所有的程序员,特别是architect必备的基本技能。

对AOP的研究已有十多年的历史。Xerox Palo Alto Research Center 的研究人员们在Xerox, 美国政府和DARPA 三方的大力资助下,于1997年发表了一篇关于AOP的研究报告,并开始了AspectJ的开发工作。后来又将AspectJ转变为Open Source,成为一个受到广泛支持和使用的AOP语言和工具,领导着AOP的新潮流。尽管AspectJ的最新版本是1.2,但它实际上是一个非常成熟的产品。它将是Java程序员的基本工具之一。

AspectJ 和 JDK 5.0 是未来Java程序员的两条腿! 综上所述,IT人士尤其是J2EE开发者立足未来必备的技能 — AspectJ, JDK5.0, Security, XML!Java与AOP实用技术班(AspectJ, JDK5.0, Security, XML) 新班公开课:3月19日(周六)4:00pm 新概念定座电话:416-482-9558。地址:45 Sheppard Ave East, Suite 510 (Sheppard/Yonge 东南) 近地铁站,有泊车位。 网站:http://newconcept.4java.net

新概念的新课“Practical Java with AspectJ”将是您进入AOP新世界的引路人,课程将从JDK 5.0 和AspectJ 两大方面的讲授最流行的J2EE编程工具,使其成为J2EE从业者长治久安的法宝:JDK 5.0是Java自1995年诞生以来对语言做了最大改进的一个版本,提供了近百个新的feature。这个版本将是Java历史上一个新的里程碑,具有极为重要的意义。未来将由它来谱写。

本文由新概念培训中心供稿,作者及授课老师:Raymond, Senior Architect。新概念电脑培训中心“Java 精华班”的授课老师。以“深厚的IT功底、博大的信息量、优美的Code”被公认为“最有深度的老师”!

收藏

发表评论