福勒(Martin Fowler)】的更多相关文章

马丁 福勒 Martin Fowler 关于依赖注入和反转控制的区别 http://martinfowler.com/articles/injection.html 中文翻译:http://files.cnblogs.com/files/stono/DependencyInjection.pdf…
福勒(Martin Fowler),在面向对象分析设计.UML.模式.软件开发方法学.XP.重构等方面,都是世界顶级的专家,现为Thought Works公司的首席科学家.Thought Works是一家从事企业应用开发和集成的公司.早在20世纪80年代,Fowler就是使用对象技术构建多层企业应用的倡导者,他著有几本经典书籍:<分析模式>.<UML精粹>和<重构>等.他改变了人类开发软件的模式,他被开发者们尊为“教父”,他从不与媒体谈论技术以外的事情.从上个世纪80年…
本文转载自:http://www.cnblogs.com/liuning8023/p/4493156.html ---------------------------------------------------------------------------- 原文是 Martin Fowler 于 2014 年 3 月 25 日写的<Microservices>. 本文内容 微服务 微服务风格的特性 组件化(Componentization )与服务(Services) 围绕业务功能的组…
转载自:iTech的博客 持续集成(第二版) 作者:Martin Fowler 译者:雷镇 持续集成 是一种软件开发实践.在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次.每次集成会经过自动构建(包括自动测试)的 检验,以尽快发现集成错误.许多团队发现这种方法可以显著减少集成引起的问题,并可以加快团队合作软件开发的速度.这篇文章简要介绍了持续集成的技巧和它 最新的应用. 最后更改于:2006年5月1日 目录 用持续集成构建特性 持续集成实践 只维护一个源码仓库…
Martin Fowler在Refactoring: Improving the Design of Existing Code(中译名:<重构——改善既有代码的设计>)一书中与Kent Beck一起总结了22种代码坏味(Bad Smells in Code),因为Sunny这段时间正在做一些与代码味道自动识别与自动重构有关的研究工作,对这些内容进行了重新的深入理解与分析.后续将在博客中转载和原创一些相关的文章,希望对广大从事软件开发的朋友们能够带来些许帮助.你在编程过程中面临哪些代码味道?哪…
IoC容器和Dependency Injection模式 Martin Fowler 编者语:最近研究IoC,在网上搜索到很多网页推荐阅读Martin Fowler的一片名叫Inversion of Control Containers and the Dependency Injection pattern的文章.点击到该文章页面便吓了一跳:这什么文章啊,简单一个网页PageRank居然是7!要知道,国内几大门户网站也都还没有到这个值呢!也难怪,Martin Fowler被誉为软件开发教父,他…
Inversion of Control Containers and the Dependency Injection pattern In the Java community there's been a rush of lightweight containers that help to assemble components from different projects into a cohesive application. Underlying these containers…
转自:http://www.scrumcn.com/agile/scrum-knowledge-library/agile-development.html#tab-id-9 每个人都在谈论敏捷开发(Agile Development).但是,你是否选择了正确的方法学?你所选的方法是否正常运转?你是否应该请求顾问的帮助?你应该如何管理开发的过程?还有,如何修补那些“先天不足”的代码?轻量级方法学的大师Martin Fowler 将回答这些问题. 应该问什么? 记者:在寻找适合自己团队的方法学时,…
https://martinfowler.com/articles/microservices.html https://martinfowler.com/microservices/ 微服务,最早由Martin Fowler在他的官博中提出,原文和翻译如下: Microservicesa definition of this new architectural term The term "Microservice Architecture" has sprung up over t…
在 Martin Fowler 的世界里,任何事情都有最优解. 1963年,Martin 出生于英格兰的沃尔索尔(Walsall),也在同样位于沃尔索尔的玛丽女王文法学校中接受中等教育.在这里的乡村中,他度过了一段简单.愉快的少年时光.上了中学之后,Martin 接触到了策略桌游.在桌游的"厮杀"中, 如何从复杂的局势中找出最简洁.直观的破局之法,就成为他想要寻找的答案,也成为日后他解决任何事情的目标. 1986年,Martin 毕业于伦敦大学学院,获得了电子工程与计算机科学的学士学位…
现任思特沃克公司首席科学家的马丁·福勒先生是当今世界软件开发领域最具影响力的五位大师之一.作为一位敏捷软件开发方法的早期开拓者,福勒先生对IT 业的影响是不可估量的. 思特沃克公司是一家跨国专业IT 服务公司,总部设在美国芝加哥,并在加拿大.欧洲.澳大利亚.中国及印度等国家和地区设有分公司.福勒先生是一位知名的作家.软件顾问兼演讲大师,他凭借16年丰富的经验帮助各企业将前沿技术应用于关键业务信息系统中. 在福勒先生的职业生涯中,他大力倡导业内最先进的软件开发技术,如统一建模语言UML(Unifi…
第1章 重构, 第一个案例 1.1 起点 1.2 重构的第一步 1.3 分解并重组 statement() 1.4 运用多态取代与价格相关的条件逻辑 1.5 结语 第2章 重构原则 2.1 何谓重构 2.2 为何重构 2.3 何时重构 2.4 怎么对经理说 2.5 重构的难题 2.6 重构与设计 2.7 重构与性能 2.8 重构与性能 2.9 重构起源何处 第3章 代码的坏味道 3.1 Duplicated Code (重复代码) 3.2 Long Method (过长函数) 3.3 Large…
英文及译文下载链接:http://pan.baidu.com/share/link?shareid=163291504&uk=1428554614 1.文章主题总结 首先我们从文章的几个小标题看每部分讲了哪些: 1.1 What's  architecture? 作者在写他的著作 Patterns of Enterprise Application architecture 中尝试将architecture定义为:define architecture as a word we use when…
在我们测试工作中,常常遇到这样的问题:开发与测试团队分属不同的不同(部门隔离.沟通不畅),质量职责划分不清(出现bug往往都是测试人员背锅),需求的不确定和易变性(需求不断变化导致代码不停更新.产品重构等),项目时间紧(互联网项目的需求对上线时间有更严格的要求)...测试团队必须纠结这样一个问题:如果在质量保证与上线时间之间找平衡,我们一方面需要尽可能的希望找出产品的“所有”bug,一方面又要保证需求能如期上线,对于一个测试团队来说,直观上只有两种方法来解决这个问题:扩充我们的测试队伍(人多力量…
很多开发团队已经认识到微服务架构比单体架构更优越.但是也有其他团队感觉到这是一种消弱生产力的负担.就像任何软件架构,微服务架构同样有利弊.为了能做出一个明智的选择,你必须了解这些应用并将它们运用到你特定的环境中. 模块化 微服务最大的好处是对功能模块的划分.这是个既重要又奇怪的好处,因为理论上没有理由来解释为何微服务比单体架构有更强大的模块划分. 那到底什么是我说的模块边界.我想大多数人同意,将软件划分成多个模块,非常好:彼此就可以分离解耦.如果我需要改变系统的一小部分,大多数的时候我只需要弄清…
P of EAA: Active Record https://www.martinfowler.com/eaaCatalog/activeRecord.html Active Record An object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data. For a full description see P…
重构的第一步: 为即将修改的代码建立一组可靠的测试环境. 和任何重构手法一样,当提炼一个函数时,我们必须知道可能出什么错. 安全步骤: 首先在一个函数内找到局部变量和参数.任何不会被修改的变量都可以被当成参数传入新的函数,至于会被修改的变量就需要格外小心. 重构代码原则:每次的改动幅度不要太大,这样才能保证 任何一个傻瓜都能写出计算机可以理解的代码,惟有写出人类容易理解的代码,才是优秀的程序员.是不过三,三则重构.…
我们平时的编程任务不外乎就是将相同的技术套件应用到不同的项目中去,对于大多数情况来说,这些技术都是可以满足目标的.然而,有的项目可能需要用到一些特别的技术,因此工程师们得深入研究,去寻找那些最简单但最有效的方法.本文我们将介绍一些有助于解决常见问题的通用设计策略和目标实现技术,即: 只做有目的性的优化 常量尽量使用枚举 重新定义类里面的equals()方法 尽量多使用多态性 值得注意的是,本文中描述的技术并不是适用于所有情况.另外这些技术应该什么时候使用以及在什么地方使用,都是需要使用者经过深思…
http://geek.csdn.net/news/detail/238243 原文:4 More Techniques for Writing Better Java 作者:Justin Albano 翻译:Vincent 译者注:如果现在要求对你写的Java代码进行优化,那你会怎么做呢?作者在本文介绍了可以提高系统性能以及代码可读性的四种方法,如果你对此感兴趣,就让我们一起来看看吧.以下为译文. 我们平时的编程任务不外乎就是将相同的技术套件应用到不同的项目中去,对于大多数情况来说,这些技术都…
============================================================== URL1 nosql ==============================================================   The rise of NoSQL databases marks the end of the era of relational database dominance   But NoSQL databases wil…
原文地址:https://martinfowler.com/articles/injection.html n the Java community there's been a rush of lightweight containers that help to assemble components from different projects into a cohesive application. Underlying these containers is a common pat…
Robert C. Martin( 罗伯特·C·马丁),作为世界级软件开发大师.设计模式和敏捷开发先驱.C++ Report杂志前主编,也是敏捷联盟(Agile Alliance)的第一任主席,我们尊称他为" Bob 大叔(Uncle Bob)".如今,年逾六十的 Bob 大叔过着典型的"斜杠"生活,他不仅是优秀的程序员.畅销书作家.演讲家,以及视频制作者,还是一名柔术爱好者. 多年学习柔术的经历,带给他的除了强健的身体之外,还有从中受到的有关"匠艺&qu…
不知不觉到达了Sring Boot的学习中了,在学习之前,了解微服务架构是很有必要的,对于自己提升今后面试的软实力有很大帮助,在此写下. 让我们接下来看下Martin Flower 如何解释微服务架构(Microservice Architecture)的吧! 文章原文地址 微服务 "微服务架构(Microservice Architecture)"一词在过去几年里广泛的传播,它用于描述一种设计应用程序的特别方式,作为一套独立可部署的服务.目前,这种架构方式还没有准确的定义,但是在围绕…
WHAT – 什么是微服务 微服务简介 这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名,可见Microservice有多火.最喜欢其中一页.关于这个典故,可以参考this,此图适用于一切高大上的名字——技术有SOA,Agile,CLOUD,DevOps等等,古代有道,气,八卦等等.此类名词的最大特点就是 一解释就懂,一问就不知,一讨论就打架. 微服务的流行,Martin功不可没,这老头也…
Seedwork      源框架 Martin Fowler               马丁·福勒 11 September 2003      2003-9-11 In the very earliest days of Object-Orientation, the OO advocates like me put a lot of attention into arguing in favor of reuse. Early on we talked about reusing of…
基本术语 1.服务器 服务器:是提供计算服务的设备.由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力.服务器的构成:包括处理器.硬盘.内存.系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力.稳定性.可靠性.安全性.可扩展性.可管理性等方面要求较高.在网络环境下,根据服务器提供的服务类型不同,分为文件服务器.数据库服务器.应用程序服务器.WEB服务器等. 处理器:处理器一般指中央处理器中央处理器(CPU)是一块超大规模的集成…
WHAT - 什么是微服务 微服务简介 这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名,可见Microservice有多火.最喜欢其中一页.关于这个典故,可以参考this,此图适用于一切高大上的名字——技术有SOA,Agile,CLOUD,DevOps等等,古代有道,气,八卦等等.此类名词的最大特点就是 一解释就懂,一问就不知,一讨论就打架.  微服务的流行,Martin功不可没,这老头…
Docker 已经震惊了软件开发界.它提供了一种根据 DevOps 方法打包和输送应用程序的便捷方法. 最近我们发布了 51 个必备的 Docker 工具列表①,但工具不是完全精通容器化所需的唯一东西. 几乎每个开发商都在采用容器,所以您需要升级您的技能,包括 Docker.也许您想将 Docker 与 ASP.NET 一同使用,也许您想了解如何做日志记录. 也许您从来没有使用过它,但想看看最近的风潮究竟是什么,或者也许您只想跟上所有最新的发展. 值得庆幸的是,无论您想要学什么,都有大量的资源,…
转载自:http://blog.csdn.net/enweitech/article/details/52582918 看了几周Spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习感悟. 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道.因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差,最开始我就进入了这样误区.官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是…