首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有这么一个软件大神,他很少谈论操作系统、网络、高并发、海量用户……

有这么一个软件大神, 他很少谈论操作系统,数据库这些底层的东西,也很少谈什么高并发,海量用户, 他也没有开发过什么知名软件,但是却被奉为软件开发的教父。

这位大神就是Martin Fowler。

如果把软件开发分为3层的话,Martin Fowler其实生活在最上层。

这一层挤着很多程序员,因为越往下层,路越难走。必须得能耐得住寂寞,经得起诱惑,对某个狭窄的领域有着极为精深的研究才可以。

但是Martin Fowler在应用层“突围”了,能呼风唤雨,被人尊称为软件开发的教父, 因为他具备一个非凡的能力:擅长把一些软件开发实践总结成“概念”。 很明显,这需要极强的抽象能力。

在这些概念当中,最知名的就是“重构”了, 当时《重构》刚出来的时候,被誉为和《设计模式》齐名的著作,一个是倚天剑,一个是屠龙刀,我个人觉得炒作成分不少,它是比不上设计模式的地位的。

但是它确确实实推动了重构这个实践的普及,以至于在IDE中,重构变成了一个必备的功能, 如果你还没有用过,应该好好反思一下。

重构还成了静态类型语言“鄙视”动态类型语言的一个重要方面。

重构的流行,也引发了另外一个市场:向模式重构, 有一些书专门讲如何把“烂代码”重构为模式。

另外一个著名的案例就是《企业应用架构模式》, Martin Fowler把企业应用开发中的一些最佳实践分门别类地总结了出来:

比如讲领域逻辑模式的“事务脚本”,“表模块”,“领域模型”,“Service Layer” 等。

讲ORM的“单表继承”,“类表继承”,“活动记录”等。

虽然已经快20年了,你再去读这本书,还是会有很多收获,这就是基础知识,核心知识的魅力吧。

对于时下热门的“微服务”,虽然Martin Fowler并不是第一个谈及微服务的概念,但是他的文章对微服务总结得最好,传播最为广泛,尤其是其中的配图,非常精彩,强烈推荐:

https://insights.thoughtworks.cn/microservices-martin-fowler/

经过这么一折腾,很多人就认为微服务这个概念就是Martin Fowler最先提出来的。 足以反映出他强悍的抽象能力。能够说出别人想说,但是难以表达的东西,成功地搔到了大家的痒处。

除此之外,Martin Fowler还有几本著名的书《分析模式》,《UML精粹》,《领域特定语言》,都是各自领域内的经典之作。

Martin Fowler做了很多年的ThoughtWorks首席科学家,ThoughtWorks是敏捷软件开发践行者和领头羊,记得他们最早是做定制的软件开发,就是给客户开发项目软件, 后来推出了一些自己的工具。 这个公司文化独特,也有很多牛人,在业界有不小的影响力,感兴趣的可以多了解下。

虽然Martin Fowler说自己仅仅是author, speaker,但是我相信如果没有大量项目实践的支撑,他不可能总结,抽象出这么多概念和方法。

我大胆猜想一下,Martin Fowler的工作方式就是全世界到处飞,发掘那些开发中的实践,然后总结出来,写博客,出书, 最终形成软件开发的宝贵财富。

很少听到Martin Fowler谈论操作系统,数据库,这些底层的东西,也很少听他谈什么高并发,海量用户。我们也很少使用他开发的软件,但是他的思想,他建立的‘词汇’却贯穿在我们日常开发中。

Martin Fowler给我们的启示就是:实现业务逻辑并不比底层的系统级开发低级,只要善于总结,善于思考,这一领域也大有可为。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190613A048UB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券