Wednesday, February 4, 2009

程序员、高级程序员、设计师、项目经理、构架师

今天突然被一个问题困扰了,就是学习了那么些书,一会儿agile,一会儿敏捷开发,到底是奔着什么去的。总说要技术nb,要做构架,到头来还没明白构架是啥。所以就翻了翻资料,英文的太长,大家估计肯定懒得看,哎,摘录一段吧,里面很清晰的阐述了构架和设计的区别。

  1. Architecture is concerned with the selection of architectural elements, their interaction, and the constraints on those elements and their interactions…Design is concerned with the modularization and detailed interfaces of the design elements, their algorithms and procedures, and the data types needed to support the architecture and to satisfy the requirements.”
  2. Software architecture is “concerned with issues...beyond the algorithms and data structures of the computation.”
  3. “Architecture…is specifically not about…details of implementations (e.g., algorithms and data structures.)…Architectural design involves a richer collection of abstractions than is typically provided by OOD” (object-oriented design).

就我每天学的玩意来看,更多的还是偏向于设计(如设计模式,今天刚发现一个实例网站,结合理论学习之后,绝对会无敌!!!)和项目管理,但还没有把基础的程序员本质提升到高级程序员,这么看来有点太急了。大家何尝不需要想想自己要走的技术这条路,要怎么走下去,每天叼嘴边的学字,是打算怎么学?

最后附带一个中文资料网站,算是AR的入门吧,上面很多不错的文章。http://www.ibm.com/developerworks/cn/architecture/newto/