`

【Martin Fowler】网站介绍(一)——精华文章导读

    博客分类:
  • Guru
阅读更多

    经常看Martin Fowler的网站,google一下国内的对Martin Fowler的介绍,发现CSDN已经有了,翻译了Martin Fowler的很多文章,但是后来一直没更新了。

 

         http://blog.csdn.net/mfowler

 

    我希望能通过一系列文章来介绍Martin Fowler的网站,让大家近距离接触他的思想,这篇文章我来介绍一下他上面的经典文章。

 

    1)The New Methodology(新方法学)

     如果你对敏捷开发方法学感兴趣,对其又不是很懂或似懂非懂,那正好看这篇文章。Fowler本人就是敏捷宣言的十七位奠基人之一。本篇文章中,他把敏捷的由来和几种常见的敏捷开发方法学做了简单明了的介绍,最后对如何实施敏捷给了一些建议。


    2) Is Design Dead? (设计已死?)

    XP引入了演化式设计,是对以往瀑布开发过程中进行大量前期设计的一个颠覆。简单设计是XP的12个实践之一,它贯穿在整个开发过程之中。由于软件的逻辑复杂性和人们认知的局限性,像先画好图纸,然后拿去加工的生产模式在软件开发领域是根本行不通的。设计者需要在过程中学习,过程中进化设计。但怎么看待日本外包的设计呢?最大的特点就是周期长,但即使是这种设计,我觉得也是降低返工的概率而已。国内大多数项目都不适合采用这种方式,一般项目没那么长时间,也缺少这样的人才,耗不起这个成本。

 

    3)Continuous Integration (持续集成)

    你开发了一个新功能,不知道什么效果;你修正了一个bug,不知道是否影响了别的模块;总之,你写了点新代码,你改变了系统,你想迅速了解效果是怎么样的,是好还是坏。持续集成旨在缩小这个反馈周期,让你小步快走,不断调整自己。Martin Fowler给出了实践指南,一般团队很少写单元测试,特别是项目紧,我一般用把持续集成来集成测试环境。比如每半小时自动的把代码从svn签出来,自动编译,打包,自动部署到集成测试环境,这样我就能时刻访问到最新的应用,进行功能验证,基本和代码是同步的。

 

    4)Inversion of Control Containers and the Dependency Injection pattern(反转控制容器和依赖注入模式)

     ioc基本上被叫烂了,大叔看不过去,用了更加合理的一个词依赖注入。事实上,到现在我对控制翻转这个词还不是很理解,理解这个确实需要早期软件开发经验。以前应用程序引用类库,多是作为API调用的,控制的主动权在应用程序,而使用框架,控制逻辑是在框架中,而不是应用程序中。我说的应用程序是指我们自己写的代码。

 

    5) Mocks Aren't Stubs

    你怎么写单元测试的?Fowler详细解释了两种测试范型,为了澄清大家对模拟对象的误解。

 

    6)Writing Software Patterns

    Martin Fowler自己经常写模式,企业架构设计模式,分析模式等等,这篇文章他总结了常见的几种模式的编写方式。

模式没什么神奇的,我自己也写了一个沟通模式

 

    今天就介绍这些了,大家可以访问他的站点,这里 列出了他的所有文章。

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics