实战Python设计模式:可复用面向对象软件开发实践
电子书推荐
-
敏捷软件开发:原则、模式与实践.pdf 评分:
中文名: 敏捷软件开发:原则、模式与实践 原名: Agile Software Development:Principles,Patterns and Practices 别名: 软件工程实践丛书 作者: (美)Robert C.Martin译者: 邓辉 孟岩图书分类: 软件 资源格式: PDF 版本: 扫描版 出版社: 清华大学出版社 (美)Pearson Education,Inc. 出版公司书号: ISBN 7-302-07197-7发行时间: 2003年9月 地区: 大陆 语言: 简体中文 简介: 内容介绍: 2003年6月荣获美国《软件开发》第13届震憾(Jolt)大奖! 在本书中,享誉全球的软件开发专家和软件工程大师 Robert C.Martin 将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。 ●讲述在预算和时间要求下,软件开发人员和项目经理如何使用敏捷开发完成项目。 ●使用真实案例讲解如何用极限编程来设计、测试、量构和结对编程 ●包含了极具价值的可多次使用的 C++ 和 JAVA 源代码。 ●重点讲述了如何使用 UML 和设计模式解决面向客户系统 本书主要包含4部分内容,这些内容对于今天的软件工程师都非常的重要,它们是: ●Agile方法:主要讲述了如何去使用 Agile 方法,其中有很大一部分内容是告诉你为什么要这样做。 ●面向对象设计原则:本书包含了11个面向对象设计原则,涵盖了包的设计和类的设计。这是我所见过的对这方面内容讲解的最清晰、最彻底、最深刻的唯一的一本书。 ●设计模式:本书中讲述了23个设计模式,并都有具体的实例。讲解的重点在如何在实际的应用中去使用模式,如何根据当前问题的上下文以及约束力去选择最适合的模式,以及何时避免使用模式。 ●UML:本书不是关于 UML 的,但是为了让读者更好的理解书中的内容,作者使用了一些UML图来展示设计思路。同时,本书中也对如何有效的使用UML做了深入的阐述。本书中有两个附录专门对UML进行了简介。 总之,本书是写给那些一线的软件工程师的。如果你想学习UML,如果你想学习如何去设计软件,如果你想学习设计模式,如果你想学习最好的软件开发实践,那么请阅读本书。 作者介绍: Robert Cecil Martin 是软件开发领域里的一个响当当的名字。1970年代,他还是个年轻小伙子的时候就是一位有名的 UNIX 黑客。经过长期的开发实践后,他成了软件开发领域中的知名专家。1990年代初,Rational 软件公司首席科学家 Grady Booch 邀请他加盟,目的是要借助他丰富的实践经验,结合 Booch 自己的软件设计理念,开发一套创新性的软件产品。这是个什么软件呢?说起来大名鼎鼎,就是 Rational ROSE 的早期版本!在 Rational 公司期间,Martin 丰富的实践经验与 Booch 深厚的理论功底形成了完美的组合,把面向对象设计的理论与实践推向了高峰。1994年,Martin的第一本著作《Designing Object-Oriented C++ Application Using the Booch Method》也由 Prentice Hal l出品。这两本书彼此相互辉映,当时引起了很大的反响。Martin 的这本书结合了当时最流行的面向对象 语言C++ 和最出色的面向对象设计建模方法 Booch Method,以大量实例讲解技术概念和应用方法,分析透彻,讲解务实,技术精妙,在读者中声誉极佳。这本书不单为 Martin 确立了软件设计领域顶尖专家的地位,而且奠定了他独一无二的写作风格。 目录: 第一部分 敏捷开发 第1章 敏捷联盟 第2章 极限编程概述 第3章 计划 第4章 测试 第5章 重构 第6章 一次编程实践 第二部分 敏捷设计 第7章 什么是敏捷设计 第8章 单一职责原则(SRP) 第9章 开放—封闭原则(OCP) 第10章 Liskov替换原则(LSP) 第11章 依赖倒置原则(DIP) 第12章 接口隔离原则(ISP) 第三部分 薪水支付案例研究 第13章 COMMAND模式和ACTIVE OBJECT模式 第14章 TEMPLATE METHOD模式和STRATEGY模式:继承与委托 第15章 FACADE模式和MEDIATOR模式 第16章 SINGLETON模式和MONOSTATE模式 第17章 NULL OBJECT模式 第18章 薪水支付案例研究:第一次迭代开始 第19章 薪水支付案例研究:实现 第四部分 打包薪水支付系统 第20章 包的设计原则 第21章 FACTORY模式 第22章 薪水支付案例研究(第2部分) 第五部分 气象站案例研究 第23章 COMPOSITE模式 第24章 OBSERVER模式—回归为模式 第25章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式 第26章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API 第27章 案例研究:气象站 第六部分 ETS案例研究 第28章 VISITOR模式 第29章 STATE模式 第30章 ETS框架 附录 附录A UML表示法I:CGI示例 附录B UML表示法II:统计多路复用器 附录C 两上公司的讽刺小品 附录D 源代码就是设计 索引
上传时间:2013-01 大小:17.95MB
- 2.14MB
Scrum敏捷软件开发过程.pdf
2022-07-12Scrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdf
- 23.56MB
敏捷软件开发-原则、模式与实践.pdf
2015-01-21本书讲授了一些原则、模式以及实践,它们可以帮助软件开发人员在追求美的程序、设计以及团队的道路上迈出第一步。本书探索了基本的设计原则,软件设计结构的通用模式以及有利于团队融为一个有机整体的一系列实践。本书包含了许多代码,仔细研读这些代码是学习本书所教授的原则、模式及时间的最有效方法
- 17.94MB
敏捷软件开发原则、模式与实践.pdf
2008-10-15敏捷开发的经典书 内容简介 在这本书中,享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。 ·讲述在预算和实践要求下,软件开发人员和项目经理如何使用敏捷开发完成项目。 ·使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程。 ·包含了极具价值的可多次使用的C++和JAVA源代码 ·重点讲述了如何使用UML和设计模式解决面向客户系统的问题
- 17.94MB
敏捷软件开发.pdf
2010-02-04第一部分 敏捷开发 第1章 敏捷联盟 1.1 敏捷联盟 1.2 原则 1.3 结论 参考文献 第2章 极限编程概述 2.1 极限编程实践 2.2 结论 参考文献 第3章 计划 3.1 初始探索 3.2 发布计划 3.3 迭代计划 3.4 任务计划 3.5 迭代 3.6 结论 参考文献 . 第4章 测试 4.1 测试驱动的开发方法 4.2 验收测试 4.3 结论 参考文献 第5章 重构 5.1 素数产生程序:一个简单的重构示例 5.2 结论 参考文献 第6章 一次编程实践 6.1 保龄球比赛 6.2 结论 第II部分 敏捷设计 第7章 什么是敏捷设计 7.1 软件出了什么错 7.2 设计的臭味——腐化软件的气味 7.3 “Copy”程序 7.4 保持尽可能好的设计 7.5 结论 参考文献 第8章 单一职责原则(SRP) 8.1 单一职责原则(OCP) 8.2 结论 参考文献 第9章 开放—封闭原则(OCP) 9.1 开发—封闭原则(OCP) 9.2 描述 9.3 关键是抽象 9.4 结论 参考文献 第10章 Liskov替换原则(LSP) 10.1 Liskov替换原则(LSP) 10.2 一个违反LSP的简单例子 10.3 正方形和矩形,更微妙的违规 10.4 一个实际的例子 10.5 用提取公共部分的方法代替继承 10.6 启发式规则和习惯用法 10.7 结论 参考文献 第11章 依赖倒置原则(DIP) 11.1 依赖倒置原则(DIP) 11.2 层次化 11.3 一个简单的例子 11.4 熔炉示例 11.5 结论 参考文献 第12章 接口隔离原则(ISP) 12.1 接口污染 12.2 分离客户就是分离接口 12.3 接口隔离原则(ISP) 12.4 类接口与对象接口 12.5 ATM用户界面的例子 12.6 结论 参考文献 第III部分 薪水支付案例研究 第13章 COMMAND模式和ACTIVE OBJECT模式 13.1 简单的COMMAND 13.2 事务操作 13.3 UNDO 13.4 ACTIVE OBJECT模式 13.5 结论 参考文献 第14章 TEMPLATE METHOD模式和STRATEGY模式:继承与委托 14.1 TEMPLATE METHOD模式 14.2 STRATEGY模式 14.3 结论 参考文献 第15章 FACADE模式和MEDIATOR模式 15.1 FACADE模式 15.2 MEDIATOR模式 15.3 结论 参考文献 第16章 SINGLETON模式和MONOSTATE模式 16.1 SINGLETON模式 16.2 MONOSTATE模式 16.3 结论 参考文献 第17章 NULL OBJECT模式 17.1 结论 参考文献 第18章 薪水支付案例研究:第一次迭代开始 18.1 介绍 18.2 基于用例分析 18.3 反思:我们学到了什么 18.4 找出潜在的抽象 18.5 结论 参考文献 第19章 薪水支付案例研究:实现 19.1 增加雇员 19.2 删除雇员 19.3 时间卡、销售凭条以及服务费用 19.4 更改雇员属性 19.5 支付雇员薪水 19.6 主程序 19.7 数据库 19.8 薪水支付系统设计总结 第IV部分 打包薪水支付系统 第20章 包的设计原则 20.1 如何进行包的设计 20.2 粒度:包的内聚性原则 20.3 稳定性:包的耦合性原则 20.4 自顶向下设计 20.5 稳定依赖原则 20.6 稳定抽象原则 20.7 结论 第21章 FACTORY模式 21.1 依赖关系环 21.2 可替换的工厂 21.3 对测试支架使用对象工厂 21.4 使用对象工厂有多么重要 21.5 结论 参考文献 第22章 薪水支付案例研究(第2部分) 22.1 包结构和表示法 22.2 应用公共封闭原则(CCP) 22.3 应用重用发布等价原则(REP) 22.4 耦合和封装 22.5 度量 22.6 度量薪水支付应用程序 22.7 对象工厂 22.8 最终的包结构 22.9 结论 参考文献 第V部分 气象站案例研究 第23章 COMPOSITE模式 23.1 示例:组合命令 23.2 多重性带是非多重性 第24章 OBSERVER模式—回归为模式 24.1 数字时钟 24.2 结论 24.3 OBSERVER模式 参考文献 第25章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式 25.1 ABSTRACT SERVER模式 25.2 ADAPTER模式 25.3 BRIDGE模式 25.4 结论 参考文献 第26章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API 26.1 PROXY模式 26.2 STAIRWAY TO HEAVEN模式 26.3 可以用于数据库的其他模式 26.4 结论 参考文献 第27章 案例研究:气象站 27.1 Cloud公司 27.2 Nimbus-LC软件设计 27.3 结论 参考文献 27.4 Nimbus-LC需求概述 27.5 Nimbus-LC用例 27.6 Nimbus-LC发布计划 第VI部分 ETS案例研究 第28章 VISITOR模式 28.1 VISITOR设计模式系列 28.2 VISITOR模式 28.3 ACYCLIC VISITOR模式 28.4 DECORATOR模式 28.5 EXTENSION OBJECT模式 28.6 结论 参考文献 第29章 STATE模式 29.1 有限状态自动机概述 29.2 实现技术 29.3 STATE模式 29.4 应该在哪些地方使用状态机 29.5 作为GUI中的高层应用策略 29.6 结论 29.7 程序 参考文献 第30章 ETS框架 30.1 介绍 30.2 框架 30.3 框架设计 30.4 TEMPLATE METHOD模式的一个例子 30.5 TASKMASTER构架 30.6 结论 参考文献 附录 附录A UML表示法I:CGI示例 A.1 课程登记系统:问题描述 A.2 小结 参考文献 附录B UML表示法II:统计多路复用器 B.1 统计多路复用器的定义 B.2 结论 参考文献 附录C 两上公司的讽刺小品 附录D 源代码就是设计 索引
- 77.45MB
敏捷软件开发实践估算与计划 Mike Cohn
2019-03-18敏捷软件开发实践估算与计划 Mike Cohn,2016年版,清华大学出版社
- 29.88MB
敏捷软件开发书籍 pdf
2012-03-04敏捷软件开发书籍合集,包括: [Scrum敏捷软件开发] [The.Pragmatic.Bookshelf开发丛书-敏捷开发回顾:使团队更强大] [The.Pragmatic.Bookshelf开发丛书-敏捷开发指导] [敏捷开发修炼之道] [用户故事与敏捷方法]
- 45.47MB
敏捷软件开发 原则模式与实践
2018-09-07该资源为 敏捷软件开发 原则模式与实践 C#版PDF,解压即可
- 17.94MB
敏捷软件开发+原则、模式与实践.pdf
2010-08-25敏捷软件开发+原则、模式与实践.pdf敏捷软件开发+原则、模式与实践.pdf敏捷软件开发+原则、模式与实践.pdf敏捷软件开发+原则、模式与实践.pdf
- 17.94MB
敏捷软件开发原则,模式与实践
2011-04-25Review of Agile Software Development: Principles, Patterns, and Practices 我看过很多有关软件开发方面的书籍,包括过程控制方面的、设计方面的以及最佳实践方面。确实也从其中学到了不少东西。但是,在具体的软件开发实践中,却没有取得期望的效果。经过一段时间的反思,我隐约觉得,应该还有某个存在于过程方法、设计原则以及最佳实践之外的东西来有机地把这三者结合起来,才能发挥这三者的最大效用。这种东西不是可以形式化的条条框框,而是活跃于人的大脑中的某种思维方法。看完了Robert Martin的Agile Software Development之后,我有一种豁然开朗的感觉。本书把这种思维方法阐述的再清晰不过。 本书具有两大特色。第一,很多讲述软件开发的书籍,要么是仅仅涉及过程方法方面的内容,要么是仅仅涉及设计原则方面的内容。这些做法相对于整个软件开发活动来说都是片面的。其实,过程方法、设计原则以及最佳实践是一个不可分割的整体。孤立地去使用任何一部分都无法获得最佳的效果。最有效的方法应该是根据自己开发团队的实际情况,找出一种能够有效地把这三者结合起来并使它们相互支持的方法。比如,大家都知道每周(日)构建是一种得到广泛认可的最佳实践方法,但并不是只要你每周(日)都去构建了,就能得到好的效果,有时,结果可能会更糟。要想使这种方法有效,还需要其他方面的支援。每周(日)构建的前提是软件必须是易于每周(日)构建的。也就是说,你需要对软件中的依赖关系进行管理,使之具有每周(日)构建的基础。而这种依赖关系的管理是需要设计原则来指导和度量的。这只是其中一个例子,本书中到处都体现着作者的这种主导思想和实践。如果读者能够在这个方面好好体会的话,肯定会对软件开发有一个更为全面、深入的理解,从而可以更加有效的去使用这些过程方法、设计原则以及最佳实践。 第二,本书的核心是软件设计,但是它对软件设计的理解以及讲解方式非常的特别。许多有关软件设计的书籍中,要么先讲述一些设计原则、模式,然后再给出几个简单的在理想情况下的应用;要么是拿一个最终的设计结果来剖析,然后告诉你它们是多么的优美。当时,你可能真会那么认为,但是当你试图在自己的实际开发中应用时,总会发现情况是完全不一样的。此时,你要么束手无策,要么会误用设计原则、模式。究其原因,主要是因为,在此类书中所讲述的不是真正的设计,只是设计的部分内容,而忽略了设计中最为重要的方面。设计是人的思维的一种动态活动,是设计者针对自己的问题的思索、权衡、折中、选择的过程。其中会出现很多在理想情况下不会出现的问题,对这些问题的处理水平才是真正的设计水平。同样,本书中到处都是这样的思考过程。针对每个案例,作者都会和你一起思索、一起探讨、一起权衡、一起验证。本书中所展示的是一个个完整的设计活动过程。通过这些案例的学习,相信读者肯定会对设计有一个更深刻的理解。此外,本书中也讲述了很多的设计模式,但是和很多其他讲述模式的书不同的是,它更多的是在告诉你什么时候不要去使用模式,去抵制模式的诱惑,以免带来不必要的复杂性。在对模式狂热吹捧的今天,本书无疑是一剂纠偏良药,可以让你更加合理、有效地使用模式。 其实,这些内容正是软件开发活动中最本质,同时也是最难以琢磨的内容。要把这些内容通过文字表达出来更是非常困难的,这也是这方面的书籍凤毛麟角的原因。然而在本书中,Rober Martin先生能把这些内容编写得如此清晰、如此易于理解,充分展示了作者深厚的技术功底和卓越的表达能力。因此,本书能从众多优秀书籍中脱颖而出获得第13届Jolt大奖,就没有什么出乎意料了。 本书主要包含4部分内容,这些内容对于今天的软件工程师都非常的重要,它们是: ●Agile方法:主要讲述了如何去使用Agile方法,其中有很大一部分内容是告诉你为什么要这样做。 ●面向对象设计原则:本书包含了11个面向对象设计原则,涵盖了包的设计和类的设计。这是我所见过的对这方面内容讲解的最清晰、最彻底、最深刻的唯一的一本书。 ●设计模式:本书中讲述了23个设计模式,并都有具体的实例。讲解的重点在如何在实际的应用中去使用模式,如何根据当前问题的上下文以及约束力去选择最适合的模式,以及何时避免使用模式。 ●UML:本书不是关于UML的,但是为了让读者更好的理解书中的内容,作者使用了一些UML图来展示设计思路。同时,本书中也对如何有效的使用UML做了深入的阐述。本书中有两个附录专门对UML进行了简介。 总之,本书是写给那些一线的软件工程师的。如果你想学习UML,如果你想学习如何去设计软件,如果你想学习设计模式,如果你想学习最好的软件开发实践,那么请阅读本书。 感谢Robert Martin先生为我们写了一本如此优秀的著作,我从本书中学到了很多。我相信本书也不会令您失望。
- 17.94MB
敏捷软件开发:原则、模式与设计.pdf
2009-07-21敏捷软件开发:原则、模式与设计.pdf敏捷软件开发:原则、模式与设计.pdf
- 45.54MB
敏捷软件开发:原则 模式与实践 C#版
2014-03-16本书中,享誉全球的软件开发专家和软件工程大师RobertC.Martin深入而生动地使用真实案例讲解了面向对象基本原则、重要的设计模式、UML和敏捷实践等程序员必备的知识。本书于2003年荣获第13届Jolt大奖,是C++和Java...
- 3.5MB
敏捷软件开发 PDF
2015-09-14敏捷软件开发简介,读书会分享资源不要白不要
- 10.0MB
敏捷软件开发:原则、模式与设计 (中文pdf版)1
2009-03-11敏捷软件开发:原则、模式与设计 (中文pdf版)
- 29.59MB
敏捷软件开发
2018-01-22Scrum精要.pdf 敏捷&迭代:踏上企业精益开发之路.doc 敏捷建模-极限编程和统一过程的有效实践.pdf 敏捷软件开发:原则、模式与实践.pdf
- 24.86MB
敏捷软件开发高清PDF
2013-03-18敏捷软件开发:原则、模式与实践高清版pdf,内容有开发、设计、实际应用
- 5.38MB
敏捷软件开发精要.pdf
2018-09-11敏捷软件开发精要,讲述敏捷开发方法、介绍、实施内容。
- 17.94MB
敏捷软件开发 中文版
2013-09-27agile software development
- 11.20MB
[免费PDF高清]敏捷软件开发(英文版)Agile Principles, Patterns, and Practices in C#.rar
2018-04-17[免费PDF高清]敏捷软件开发(英文版)Agile Principles, Patterns, and Practices in C#.rar [免费PDF高清]敏捷软件开发(英文版)Agile Principles, Patterns, and Practices in C#.rar
- 9.0MB
敏捷软件开发原则,模式与实践(中文)
2007-08-25敏捷软件开发原则,模式与实践<br>在这本书中,享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。 <br>·讲述在预算和实践要求下,软件开发人员和项目经理如何使用敏捷开发完成项目。 <br>·使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程。 <br>·包含了极具价值的可多次使用的C++和JAVA源代码 <br>·重点讲述了如何使用UML和设计模式解决面向客户系统的问题 <br>
- 14.44MB
敏捷开发的艺术 pdf电子书
2010-08-12敏捷开发的艺术是一本非常不错的介绍敏捷开发的书。本书是其pdf电子档。
- 55.30MB
Scrum敏捷软件开发_original.pdf
2016-11-16Scrum敏捷软件开发_original.pdf
- 12.99MB
敏捷项目管理在软件开发中的实践应用.pdf
2020-12-18敏捷项目管理在软件开发中的实践应用