软件开发是一个年轻的行业,我们仍然在学习技术和建设的工具有效地做到这一点。我已经参与了本次活动超过三十年,在过去的两年我一直在写本网站有关使其更容易建立实用的软件模式和实践上。该网站一开始是把我自己写的地方,但我还用它我的同事们发表文章。

2000年,我加入ThoughtWorks的,我的职责是了解这些技术,我们已经学会了为我们的客户提供软件,并传递给更广泛的软件产业这些技术。因为这个网站已经发展成为在软件开发平台的尊重,我已经编辑和我的同事们,都ThoughtWorkers等人,发表的文章,以帮助有用的写作更广泛的受众。

马丁·福勒摄188bet足球充值

照片:克里斯托弗·弗格森

188bet足球充值

在有效地构建软件一个网站

如果有一个主题贯穿始终我的工作,并在此网站撰写,它是对思维敏捷的转变和技术模式和做法,使敏捷软件开发实践之间的相互作用。而在我们的专业技术日新月异的具体情况,基本做法和模式都比较稳定。所以写这些让我有在这个网站上有几个岁,但仍相关,因为当他们撰写的文章。

随着软件成为现代企业更重要,软件需要能够快速应对变化,让新功能是可以设想,研制并投入生产的迅速发展。的技术118体育金宝博 从上世纪90年代开始,在过去的十年里逐渐变得更受欢迎。他们专注于灵活的规划方法,这种方法允许软件产品随着用户需求的变化而改变方向,并且随着产品经理更多地了解如何让他们的用户变得有效。虽然现在已经被广泛接受,但敏捷方法并不容易,对团队来说需要重要的技能,更重要的是团队内部和团队合作伙伴之间的开放协作文化。

这需要响应流利的变化性对重要的影响建筑的软件系统。该软件需要被建立在这样一种方式,它能够适应功能意想不到的变化。一要做到这一点最重要的方法是写清晰的代码,因此很容易理解的程序应该做的。此代码应该分成模块,允许开发人员只了解系统的部分,他们需要做出改变。该生产代码应该与自动化测试,可以检测作出改变时,同时提供的如何内部结构被用于实施例所作的任何错误被支持。大型复杂的软件努力可能找到118金宝博玩法 架构风格有助于团队部署依赖关系较少的软件。

创建具有良好架构的软件是不是可以做第一次。像优秀的散文,需要定期修订和程序员了解什么产品需要做以及如何最好地设计产品,以实现其目标。bet188足球188足球比分直播是让一个程序来安全地更改的必要技术。它包括建立不改变软件可观察行为的微小变化。通过结合大量小的变化,开发人员可以修改软件的结构支持时,首先被设想的系统没有计划显著修改。

只在开发人员的机器上运行的软件不能为软件的客户提供价值。传统的软件发布是一个漫长而复杂的过程,它阻碍了软件快速发展的需要。118金博宝娱乐城 使用自动化和协作工作流来消除这个瓶颈,允许团队按照客户的要求发布软件。为了使持续交付成为可能,我们需要建立一个坚实的基础测试,通过一系列自动化测试,我们可以确信我们的更改没有引入任何bug。这导致我们将测试集成到编程中,从而可以改进我们的体系结构。

照片流

意大利费拉拉(2014)

数据管理

有很多种软件,我主要从事的是企业应用程序。在这个世界上,我们需要解决的一个持久的问题是数据管理.数据方面同治我重点介绍这里是如何将数据存储迁移为他们的应用程序不断变化的需求,具有在大型企业不同的情况下,NoSQL数据库的作用,并与数据是应对更广泛的问题的应对又大又乱了。

特定于域的语言

在复杂的软件系统中,一个常见的问题是如何捕获复杂的领域逻辑,这样程序员既可以轻松地操作,也可以轻松地与领域专家通信。118金宝博娱乐城 (DSL)为特定问题创建自定义语言,可以使用自定义解析器,也可以使用宿主语言中的约定。

图书

我已经写了七本关于软件开发的书,包括重构、企业应用程序架构模式和UML精华。188足球比分直播我也是Addison-Wesley签名系列的编辑,其中包括五个jolt award的获奖者。

我的书页......

会议举行会谈

我经常被要求在会议上发表演讲,从中我推断出我是一个很好的演讲人——这很讽刺,因为我真的讨厌发表演讲。你可以通过观看我的一些会议讲话的视频来形成自己对我讲话的看法。

我的视频页面…

棋类游戏

我一直是一个棋类游戏的爱好者,我喜欢一个完全占据我头脑的游戏,在享受好朋友的陪伴的同时,把所有严肃的想法一扫而光。现代棋类游戏在20世纪90年代随着欧洲棋类游戏的兴起而有了巨大的进步,我预计如果没有尝试过这一代人中的任何一个,很多人都会感到惊讶。我也经常出现在重型纸板.

我的棋盘游戏页。。。

标签

API设bet188足球计·敏捷的·敏捷实施·分析模式·应用程序体系结构·118金宝博网 ·坏事·大数据·棋牌游戏·生成脚本·证明·协作·计算机历史·会议小组·会议·持续交付·新型冠状病毒肺炎·数据库·bet188足球·词典·分布式计算杂志·消遣·多样性·文档·领域驱动设计bet188足球·领域特定语言·国内的·封装·企业架构·估计·事件架构·进化设计bet188足球·经验报告·expositional架构·极限规划·前端·小工具·ieeeSoftware公司·infodecks·网络文化·访谈·语言功能·语言工作台··传统康复中心·合法的·韵律学·微服务·移动·诺什·对象协作设计bet188足球·分析器生成器·摄影·播客·流行的·演讲技巧·隐私·过程理论·生产力·编程平台·编程风格·项目计划·招聘·188足球比分直播·188足球比分直播重构边界·需求分析·ruby·安全·谈话视频·团队环境·团队组织·技术债务·技术领导·测试类别·测试·ThoughtWorks的·工具·旅行·统一建模语言·版本控制·网络开发·网页服务·网站·写作

2020·2019·2018·2017年·2016·2015年·2014·2013·2012年·2011年·2010年·2009年·2008年·2007年·2006年·2005年·2004年·2003年·2002年·2001年·2000年·1999年·1998年·1997年·1996年

全部内容

近期变动

如果您想获得通知时,我发表新材料,SUBCRIBE我RSS推特提要。


指南威胁建模开发

周一2020年5月18日11:41 EDT

威胁建模是安全系统设计中备受推崇的实践。但它通常是通过复杂、详尽的前期分析来完成的。Jim Gubet188足球mbley过去几年一直在帮助ThoughtWorks团队和客户采用不同的方法,这符合“很少而且经常”的敏捷哲学。我很高兴他现在写了一篇文章来分享他的工作方式,这第一部分解释了如何将这种增量思维应用到威胁建模中。

更多…


Bliki: KeystoneInterface

星期三2020年4月29日00:00 EDT

软件开发团队发现,如果他们,因为他们经常能够集成他们的工作生活可以更容易。他们还发现有价值的频繁释放到生产。但球队不想暴露半开发的功能给他们的用户。一个有用的技术来对付这种紧张是建立所有的后端代码,整合,但不构建用户界面。该功能可以集成和测试,但UI被压住,直到最后像一个梯形,它添加到完成特征,直到,它揭示给用户。

更多…


管理源代码分支的模式

美国东部时间2020年4月20日星期一11:07

在我与软件开发人员的对话中,经常有争议的话题是如何管理源代码分支。像git这样的工具可以很容易地创建分支,但是管理它们以提高协调性和最小化集成成本会发现很多困难。我发现将分支的取舍看作一系列模式是有用的,并且在过去的几个月里,我将这些模式写成了一个连贯的形状。

今天,我将开始分享这些,与源分支的模式本身的思想基础。这里很重要的一点是分支的概念概念是比源代码管理系统将此视为分支机构更广。

更多…


188足球比分直播重构:这个类太大了

星期二2020年4月14日09:32 EDT

大多数程序员都有自己的项目,为他们个人做重要的事情,但从来没有足够的时间和精力让他们保持良好的状态。克莱尔也不例外,他需要花时间让这样一个不守规矩的代码库回归正轨。在这里,她分享了重构的第一部分:分解一个已经变得太大的类。这是一个混乱的局面,因为这就是真正的重构——然而,如果以一种可控的方式,通过许多微小的步骤,我们可以取得真正的进展。188足球比分直播

更多…