12 2010 档案

摘要:是否有程序员奢侈地想过,加入这样一个团队:那些世界上顶尖的架构师坐在你的身旁,与你结对设计;或者当你遭遇难题时,亲自为你指点迷津;或者在架构评审时,为你点评架构的优劣。他们态度优雅,行动举止之间透露出Geek的风范;他们不厌其烦,展现出非凡的技艺。他们作为你的导师,言传身教传承着优良的软件工艺。这些顶尖的架构师或者声名显赫,或者技术超群。他们是Neal Ford,Michael Nygard,Bi... 阅读全文
posted @ 2010-12-31 14:12 张逸 阅读(1406) 评论(0) 推荐(0) 编辑
摘要:架构我眼中的Visual Studio 2010架构工具基于消息与.NET Remoting的分布式架构设计领域驱动设计实践解除具体依赖的技术期待的接口软件隐喻的本质与模式虚方法的使用依赖之殇敏捷解开最后期限的镣铐印第安人的灵魂——敏捷回顾在Scrum中实施敏捷建模重构避免复制与粘贴改造面向过程式设计利用多态重构为带参方法备注:我将持续维持此文章资源列表。 阅读全文
posted @ 2010-12-29 11:50 张逸 阅读(3685) 评论(10) 推荐(13) 编辑
摘要: 《重构之美》之五 使用面向对象语言进行过程式设计的例子,可谓俯拾皆是。看这段代码: 这段代码很清晰,分别执行了对学校、年级与教师信息的同步。一目了然,似乎没有什么问题。然而,如果深入阅读各个同步子方法,就会发现某种坏味道,那就是重复代码。 当然,真实的代码更加复杂与混乱,但如果经过一系列重构,例如Rename Method,Extract Method之后,就会变得逐渐清晰,大体结构如上述展示... 阅读全文
posted @ 2010-12-23 10:34 张逸 阅读(2863) 评论(10) 推荐(5) 编辑
摘要:读了InfoQ中国的一篇新闻,题目为《代码永远是罪魁祸首吗》,有些想法不吐不快。代码质量一直是我较为关注的一个话题。我在许多场合提到过这一点,也就此写过博客来阐述我的观点。例如,在2010年5月InfoQ《架构师》篇首语——不积跬步无以至千里中,我写到: 架构师的成长漫长而充满艰辛。是否能够成功,除了需要远大的目标,还需要脚踏实地。最近,我阅读了两本好书。一本是Kent Beck所著的《实现模式》... 阅读全文
posted @ 2010-12-20 17:11 张逸 阅读(4721) 评论(8) 推荐(6) 编辑
摘要:《重构之美》之四  在开发框架时,若要支持扩展性,引入工厂方法或许会成为神来之笔。例如,在QueryWrapper类的addResource()方法中,需要创建一个IndexWriter对象。 public class QueryWrapper {     public final void addResource(RequestContext context) {         log(”A... 阅读全文
posted @ 2010-12-17 11:42 张逸 阅读(2450) 评论(2) 推荐(0) 编辑
摘要:我在成都Web开发大会与中国软件技术大会上皆以此题做了演讲。在这个演讲中,我提出了MMN架构的命题。MMN架构即宏观架构、微观架构与纳米架构。我在演讲中探讨了MMN架构在原则、模式与方法学的体现。我试图提出一个好的架构过程,将各种方法学、原则与模式糅合在这个架构体系中。 然而,这个命题还很粗糙。因为我还缺乏足够的理论基础与架构经验来支撑。但无疑,这个框架已经搭建起来了。正如软件系统开发需要架构一... 阅读全文
posted @ 2010-12-14 17:57 张逸 阅读(2680) 评论(12) 推荐(1) 编辑
摘要:《重构之美》之三 我曾经在一次演讲中,问过听众这样一个问题:“一个方法的理想行数最多不超过多少行?”如果问一千个人,或许会有一千条答案吧。   这是一个见仁见智的问题。在《软件开发沉思录》一书中,ThoughtWorks的技术负责人Jeff Bay认为:“一个常见的原则是将方法的行数控制在5行之内……”很多人对此感到不可思议。窃以为,关键不在于方法的最大行数,而是要合理理解方法的微粒度能为我们带... 阅读全文
posted @ 2010-12-08 10:22 张逸 阅读(3339) 评论(14) 推荐(10) 编辑
摘要:《重构之美》之二 我在阅读遗留代码时,经常发现存在这样一种情形。在一个类中存在两个方法,它们做了相似的工作,区别仅在于方法内部某些对象的类型。例如: public class WorkSheet{ public void fillHeader() { Header header = createHeader(); for (String title:header.getTitles()) { fi... 阅读全文
posted @ 2010-12-02 23:51 张逸 阅读(2674) 评论(2) 推荐(2) 编辑
摘要:2010成都Web开发技术大会将在2010年12月5日在成都沙湾国际会展中心召开。Active Network的组织者是我在四川大学的同学,所以邀请我到会进行一次演讲。 本次大会的背景:2009年11月,由Active Network中国区执行总监Jean Su女士和淘宝网技术副总裁王文彬博士共同发起的,首届Web开发研讨会,在中国西安成功举行。在这届大会上,来自西安Web开发领域的100多位W... 阅读全文
posted @ 2010-12-02 18:37 张逸 阅读(1303) 评论(2) 推荐(0) 编辑
摘要:《重构之美》之一 在开发过程中,当你发现代码可以Copy-paste时,就意味着代码出现了重复。这是一种典型的反模式。William J.Brown等在著作AntiPatterns-Refactoring Software,Architecture, and Projects in Crisis(即《反模式——危机中软件、架构和项目的重构》)中认为这种形式的复用让开发的代码... 阅读全文
posted @ 2010-12-01 18:36 张逸 阅读(3739) 评论(14) 推荐(7) 编辑
摘要:关于代码的重构,已经是老调常弹。自Martin Fowler《重构》一书横空出世,到如今已有十年光景,对于重构,许多程序员已经耳熟能详。然而,每当我们面对项目压力时,常常会将重构置之脑后,抛到九霄云外。理由足够充分,言之凿凿:功能还未完成,何谈重构?究其原因,是因为我们还未将重构当做习惯。即便现在的许多IDE已经支持自动完成常见的重构手法,我们仍然会忘记,仍然会忽略。只因重构不能直接产生价值,只因... 阅读全文
posted @ 2010-12-01 16:57 张逸 阅读(4145) 评论(15) 推荐(9) 编辑
摘要:金旭亮著作《.NET 4.0面向对象编程漫谈》推荐序 .NET技术浩如烟海,没有任何一本书可以穷尽它,因为作为一个主流开发平台,它涵盖的内容实在太丰富了。然而,当我阅读完金旭亮先生的这本著作(《基础篇》+《应用篇》),我开始对我的论断产生了怀疑。不错,本书依旧没有能够穷尽.NET,然而它在技术广度与深度的结合方面,或许称得上是无与伦比的。可以说,.NET平台的各项重要技术,包括.NET 4.0的新... 阅读全文
posted @ 2010-12-01 16:15 张逸 阅读(970) 评论(0) 推荐(1) 编辑