软件设计bet188足球

在我从事软件行业的二十年中,我的主要兴趣是软件的设计。bet188足球什么是好的设计?bet188足球我们如何传递好的设计?bet188足球哪些流程鼓励良好的设计?bet188足球我专注于企业应用程序:它通常包含大量人类需要理解和操作的数据。

我得出的结论是,在大多数情况下,您需要对软件设计采取创新的方法,bet188足球这就解释了我参与敏捷社区.我也得出结论模式是组织和交流设计思想的最有效方式之一。bet188足球


进化建筑与设计bet188足球

也许在我的职业生涯中,我的思想发生了最大的转变,导致了对建筑和设计的一种进化方法。bet188足球当Iwas第一次教授软件设计时,bet188足球它是一个独立于编程的活动,应该在编程开始之前完成。现在我把它看作是一个与编程交织在一起的活动。我详细地写了这个转变是Debet188足球signDead吗-我最受欢迎的网络文章之一。您可以在下面找到更多文章和bliki条目进化设计标签bet188足球.

我的同事尼尔·福特是一位经常与我分享我的兴趣和观点的作家和演说家(也是一个优秀的思想来源,我可以剪辑)。2009-10年,他写了一篇十五连载对于IBM的developerWorks,它深入探讨了进化体系结构和设计问题。bet188足球他的主题包括测试驱动开发,利用可重用代码,188足球比分直播重构TowardsDesign和特定于bet188足球域的语言。

接下来,他还记录了敏捷工程实践视频研讨会对于O'Reilly来说,这可以在网上的游猎书籍上找到。这些涵盖了使进化设计成为可能的许多主题,bet188足球包括测试驱动设计,bet188足球自动化,以及测试策略。


依赖注入

00年代初,我经常被各种各样的人扣住,特别是保罗·哈曼特,他告诉我他们使用控制反转。这些谈话中的许多让我比任何事情都更困惑,但最终我花了时间来整理他们在说什么。这是关于弹簧框架使用一些非常相似的想法的时候。因此,我们提出了一个新术语:依赖注入。这篇文章描述了2004年我对这一观点的解释。


进化数据库设计bet188足球

许多人担心以进化的方式建立数据库。当生产数据库中充满有价值的数据时,如何更改数据库模式?我的同事普拉法德萨拉奇一直处于解决这个难题的前沿,确保这样的数据库进化是通过网络项目进行的一个不显著的实践。他和我合作写了这篇关于他的方法的文章,后来写了一本关于188足球比分直播重构数据库连续数据库集成的方法.


EAA工作正在进行中

在00年代中期,我开始绘制更多的企业应用程序架构模式。这项工作一旦我提交到我的[DSL书]就停止了,现在我不知道是否要重新启动它。有,然而,这里有许多有趣的图案。特别是在GUI架构和MVC被广泛引用。

请记住,这些是正在进行的草稿,实际上相当于Aauthor的工作文件,所以文字不够润色。我喜欢在网上保存我的工作笔记,所以如果别人发现他们有用的话,他们就可以使用他们。但这确实意味着你需要容忍特别草率的文本。


根除不确定性

我提倡的设计和交付方法的一个关键部分bet188足球是使用自动回归测试作为缺陷检测机制。这是减少错误和实现重构的关键。188足球比分直播我经常遇到的一个问题是,当测试套件由于测试在医学上失败而衰退时。因此,了解这种非决定论的共同原因很重要:缺乏孤立性,asynchronousbehavior,远程服务,时间,以及资源泄漏。一旦你掌握了这些发生的原因,你就可以很好地解决这些问题,得到一个你可以依赖的回归套件。


休息的成熟度

最近有很多关于将Web API配置为RESTfulServices的讨论。但像往常一样,很多谈话并不总是意味着理解很多。与我的同事交谈在实践中休息书,我发现使用莱昂纳德理查森开发的这个成熟度模型进行休息非常有帮助。


嘲弄不是树桩

在测试时,许多人使用双重测试:专门为测试准备的协作对象的替代版本。在这里我谈到了人们使用的不同类型的测试加倍,它们如何导致两种截然不同的单元测试风格。


消费者驱动的合同

通常认为,服务提供者应该根据其对如何使用服务的感知来设计接口。bet188足球在这里伊恩罗宾逊认为服务合同应该由他们的消费者驱动,提供者应该聚合他们的需求。这使得ITeasier更容易在不混乱的版本控制的情况下更改接口。


谁需要建筑师?

在敏捷界,“架构”通常是一个脏话。在我担任IEEE软件设计专栏的编辑期间,我撰写了本专栏,探讨架构师bet188足球和体系结构InSoftware的定义。(尽管最好的引语来自拉尔夫·约翰逊。)

更多…

企业应用程序体系结构模式

在90年代早期的对象时代,许多人发现了使我们能够使这样的系统在分层体系结构中工作的键模式。企业应用程序体系结构模式获取这些知识。尽管工具和框架来来往往,其中许多实现了这些模式,我认为理解这些模式仍然是很有价值的,所以你最好知道如何使用它们做出正确的决定。


188足球比分直播

以前有一种观念认为设计是在开始编程之前应该完成的。bet188足球当我被展示重构时,188足球比分直播我看到了一种让设计在编程过程中进化和改进的实用技术。bet188足球所以我写这本书是为了传授这些技巧。尽管这本书已有十年历史,内部的编程技术尚未老化。