作者:YYGCui 出处:http://blog.cuicc.com/blog/2015/07/22/microservices/ 在过去几年中,“微服务架构”...
Martin Fowler,一位作者和演讲者,在软件开发行业中,他通常是最能说的那一位。他长期以来一直困惑于这样的问题,即如何才能将软件系统进行组件化。
某公司宣传该公司的Martin Fowler为"重构之父"。 ? 其实Fowler本人对此说法已经表过态了。...在《Refactoring: Ruby Edition》的Preface中,Fowler就说: ?...我专门写文章说此事,目的是要批评春节期间我质疑了"重构之父"的宣传之后看到一种论调: 这么较真有意思吗,Fowler对重构的推广贡献巨大,是不是"重构之父"重要吗?...我可以接受的论调是: (1)对不起,我们不清楚重构的历史,误以为Fowler是"重构之父",写错了。...或者退一步 (2) 对不起,我们确实知道Fowler不是"重构之父",但是为了宣传目的,决定这样说。很多公司都这样做,还望理解一二。 论调(1)(2)和我开始列出的那种论调是有很大区别的。
从我开始谈论和撰写关于重构专题的一开始,人们就问我如何将重构纳入更广泛的软件开发过程。 重构到底应不应该被当做软件开发生命周期的一个阶段,如果应该,那么要在一...
原文如下:http://martinfowler.com/articles/microservices.html
在 Martin Fowler 的世界里,任何事情都有最优解。 1963年,Martin 出生于英格兰的沃尔索尔(Walsall),也在同样位于沃尔索尔的玛丽女王文法学校中接受中等教育。...《敏捷宣言》 随着应用软件的蓬勃发展,软件开发的升级成本越来越高,Martin Fowler 开始转而追寻软件开发的最佳实践,“轻量”方法论渐入人们的视野。...90年代末,Martin Fowler 为《分布式计算》写了一篇专栏。...在21世纪初,Martin Fowler 又在《IEEE软件》杂志的设计专栏做了五年的编辑。这几段专栏作者以及编辑的经历让 Martin 体验了从文章产出、校对到发表的全流程。...现今,已年近古稀的 Martin Fowler,同妻子住在波士顿市郊。在工作之余,他们会去度假、摄影、徒步,也会将沿路的风景、人文分享给自己的读者。
本文取自Martin Fowler近日的博客与直播,他在其中分享了自己再版《重构》的想法以及新书中的细节,在此汉化以飨读者。...目前,本书正由熊节和林从羽进行翻译,而Martin Fowler也将在明年来到中国,在3月15日的“技术雷达十周年峰会”现场与大家分享过去十年来技术领域的趋势变化,欢迎扫码或点击阅读原文购票。
时隔一年,Martin Fowler再次来到中国,此次来华Martin将驻足北京、成都两站,为那里的程序员带去他的最新技术研究趋势!...Martin Fowler——《21世纪的软件设计》 在过去的十年中,我们看到了很多新的方法不断加入进来,帮助我们有效地设计软件。...Martin Fowler(马丁·福勒)一直是这些技术领域的最强音,他专注于企业级软件的设计——探索究竟是什么造就了优秀的设计,以及什么技术能将优秀的设计变为现实。...在过去十年中,Martin Fowler在IT咨询与定制软件交付公司ThoughtWorks工作。...此次Martin Fowler会将他在各个方面最新近的实践与研究心得分享给大家,同时解析这些发展趋势对软件开发的影响。
Martin Fowler的一位中国同事在搞宣传时,盛赞Martin Fowler,说马大叔这么大年纪了,还是那么活力四射,可是当时Fowler还不到45岁。...图2 哈登和Martin Fowler,Fowler的图片摘自2000年5月的martinfowler.com 如果是偶尔口误也就罢了,要是有意无意地把Martin Fowler刻画成“德高望重的老科学家...这种有意无意的造神,反而会损害Fowler的形象,相信这也不是Fowler乐意看到的。 如果进一步波及到公司的形象,那就更不好了。 说到“狼性文化”,您会首先想到哪家公司?...☆Fowler没赶上UML之前的那一波面向对象方法学浪潮,他的第一本书《分析模式》出版于1996年。 ☆也许和个人性格特点有关,Fowler并没有提出什么方法学或符号体系。这是好事。...☆《分析模式》里的符号不是Fowler发明的。
以 Jeremiah Fowler 为首的 IT 安全研究人员披露了福克斯新闻数据泄露事件的相关细节,据悉,数据库存在一个配置错误,导致大小 58 GB 的数据库处于没有密码保护的状态,任何互联网用户都能够随意访问这些暴露数据...Security Discovery 联合创始人兼安全研究员 Fowler 表示,被曝光的文件中包含约 700 个内部的网络电子邮件、用户名,演员和制作人员的姓名以及他们的内部 Fox ID 参考号。...数据泄露带来安全隐患 针对福克斯新闻数据泄露事件,Fowler 强调,如果这些数据落入网络犯罪分子手中,可能会带来一系列网络钓鱼攻击,攻击者能够很容易识别出脆弱区域,以便开展网络入侵活动。...另外,攻击者也会就数据库提出赎金要求,Fowler 还指出,目前尚不清楚这些信息记录暴露了多长时间,也不清楚是否有人已经访问了数据库。...值得一提的是,福克斯新闻接到关于不安全的数据库通知后,迅速召集网络安全人员,采取专业行动,此举 获得了 Fowler 的赞赏。
Fowler-Rigetti称,一家向微服务迁移的公司经常以产生几个孤立的微服务团队告终。另外,由于没有人知道其他团队正在做什么,以及最佳实践无法分享,最终导致技术无方向蔓延。...请点击此处输入图片描述 3: 资源竞争 微服务向组织提供服务,就如同生态系统一样,它们十分复杂且脆落,Fowler-Rigetti如是说。 硬件和工程资源均是稀缺昂贵的。...Fowler-Rigetti对此作出了否认。微服务应该是公司架构在触及其扩展能力上限时而做出的演进过程中的一步,而非摆脱工程难题的一条捷径。 5....Fowler-Rigetti给出了一个列表: 稳定性 可靠性 可扩展性 性能 容错 灾备 监控 文档 Fowler-Rigetti对此做了深入解释: 稳定性和可靠性 使用微服务,会带来更多的变更和更快的部署...Fowler-Rigetti谢绝指出具体的语言,但她说,“我很肯定自己能想到一些。”
****** 8.2.8.2 历史回顾:值对象 Martin Fowler和Kendall Scott在“UML Distilled”的第一版使用了“值对象(Value Object)”一词,如图8-67...图8-67 摘自UML Distilled: Applying the Standard Object Modeling Language, Fowler, M. & Scott, K. , 1997(...此版本无中译本) Martin Fowler在他后续出版的书中继续使用“值对象”,如图8-68和图8-69。...图8-68 摘自《重构:改善既有代码的设计》,Martin Fowler 著,侯捷、熊节 译,英文原版出版于1999年 图8-69 摘自《企业应用架构模式》,Martin Fowler 著,王怀民...Martin Fowler在《企业应用架构模式》中讲述“值对象”模式时,提到了这一点。 图8-70 摘自《J2EE核心模式》,Alur D.
****** 8.2.8.2 历史回顾:值对象 Martin Fowler和Kendall Scott在“UMLDistilled”的第一版使用了“值对象(Value Object)”一词,如图8-67...此版本无中译本) Martin Fowler在他后续出版的书中继续使用“值对象”,如图8-68和图8-69。...图8-68 摘自《重构:改善既有代码的设计》,Martin Fowler 著,侯捷、熊节 译,英文原版出版于1999年 图8-69 摘自《企业应用架构模式》,Martin Fowler 著,王怀民、周斌...Martin Fowler在《企业应用架构模式》中讲述“值对象”模式时,提到了这一点。 图8-70 摘自《J2EE核心模式》,Alur D....图8-76 更合适的抽象 另,Fowler关于Aliasing Bug最早用的并不是图8-75的例子,而是如图8-77。
Martin Fowler的 Active Record pattern实现,它是指一个既包含数据又包含行为的对象,这些数据需要持久保存到对应的数据表中。...Record,也就是将Dao中对数据库的CRUD方法和Domain Object整合在一起, 我们知道,Dao模式本质是桥模式,通过Dao可以将不同的数据库访问实现分离,并且在运行时组合,但是,Martin Fowler
《华盛顿邮报》记者 Geoffrey Fowler 与同事们一起利用AirTag测试某种跟踪过程后,进行了体验式的报道。 ? ?...Fowler 在自己的包里装上AirTag后,让自己的同事将AirTag连接到iPhone上,实时掌握自己的位置。 他表示,AirTag是「既便宜又有效的跟踪手段」。...实验结果显示,通过同事iPhone的 Find My 应用程序,Fowler 的位置信息被实时掌握。 ? 苹果在防止通过Air Tag跟踪,增加了几种安全装置。...Fowler 表示,「苹果虽然努力防止Air Tag被用于恶意跟踪,但还有一些问题需要解决。」 你入手AirTag了吗? ?
远在2009年,Martin Fowler与Rebecca Parsons在QCon SF做了一次题为Agilists and Architects: Allies not Adversaries Presentation...让我们再回到2004年,Martin Fowler当然发表了文章Is Design Dead。文中谈到了计划式设计与演进式设计之间的区别。这篇文章算得上是溯本清源。...在2002年Bill Venners对Martin Fowler的采访中,Martin Fowler认为,最合理的分配是20%的计划式设计,80%的演进式设计。...我个人较倾向于Minimal planned design,至于它在演进式设计与计划式设计之前的权衡,不必完全照搬Martin Fowler给出的比例。
POJO对象 POJO(Plain Old Java Object)的概念来自Martin Fowler、Rebecca Parsons和Josh MacKenzie在2000年一次大会的讨论。...这个术语来自Martin Fowler的创造,从贫血这个词可知,这样的一种领域模型必然是不健康的,它违背了面向对象设计的关键原则,即“数据与行为应该封装在一起”。...当我们在讨论领域模型时,发现更有好事者在贫血模型的基础上衍生出各种与“血”有关的各种模型,统计下来,除了Martin Fowler提出的贫血模型之外,还包括失血模型、充血模型与胀血模型。...如果采用这篇文章的定义,Martin Fowler所推崇的富领域模型反倒成了不健康的贫血模型(虽然该文作者未必认为贫血模型不健康),该何其无辜啊!...在去掉了错误的失血模型后,一般认为充血模型其实就是Martin Fowler提出的富领域模型。
“毕竟生活里很少有晴空万里的好事” ——Martin Fowler 延缓新功能开发 先添加新功能再重构,还是先重构再添加新功能,这不是一个对错的问题,而是一个取舍的分叉口。...Martin Fowler的回答醍醐灌顶,作为程序员往往对代码库的整洁有着极高的追求,以技术去驱动重构没有错,但现实世界往往取决于经济。...Martin Fowler推荐的是团队代码所有制。对于跨团队的兼容,可以采用类似GitHub上开源的模型。
Martin Fowler将其称之为Role Interface(角色接口)。 例如邮件的收发业务。...如果你先定义了一个类叫EmailService,然后因为你需要定义接口对其抽象,然后就简单地将这个类的所有公有方法都提取到抽象的接口中,这样设计的接口,被Martin Fowler称为Header Interface...欲知Role Interface与Header Interface,可以参考Martin Fowler的这篇文章 。 问题:收发邮件被用到不同的使用场景,怎么理解?
领取专属 10元无门槛券
手把手带您无忧上云