实战Python设计模式:可复用面向对象软件开发实践
电子书推荐
-
敏捷软件开发:原则、模式与实践【高清+可搜索+可编辑】 评分:
一、下载须知:很清楚,但是有一小部分看着有点颗粒感,我试着美化以增强更好地阅读体验,但是没有成功。 二、简单介绍一下,这本书我个人觉得写的确实很好,而且在当年大卖,在书的序言也写了,个人觉得是挺不错的一本书,这是翻译的作品,建议有能力的可以读原文,希望能有更多的人接触敏捷编程。 摘一点书上原话: 七年等待换来的经典(代序) 孟岩 Robert C. Martin 的经典著作《敏捷软件开发)) (Agile Software Developm叩)中文版面世,这是 计算机技术出版领域的一件人喜事。即使在技术图书非常繁荣的今天,本书的问世也仍然是值得广 大开发者格外留意和关注的享件。这不仅是因为它刚刚荣获2002 年度Jolt 震撼大奖,更因为这本书 本身的价值和独特魅力所孔。 三、 2. 目 录 第I 部分敏捷开发 第1 章敏捷实践.............................................2 1.1 敏捷联盟···········································3 1.2 原则···················································6 1.3 结论···················································8 参考文献.................................................... g 第2 章极限编程概述...............................……9 2.1 极限编程实践..........………..... ………··9 2.2 结论................................................. 16 参为文献.................................................. ,6 第3 章计划...………........................................ 17 3.1 初始探索······································、··I7 3.2 发布ii 划......................................... 18 3.3 迭代计划......................................... 18 3.4 任务计划......................................... 19 3.5 迭代................................................. 20 3.6 结论................................................. 20 参考文献··································................ 20 第4 章测试....................................................21 4.1 测试驱动的开发方法…·…....………·21 4.2 验收测试………......……………........... z4 4.3 结论................................................. 27 参考文献········..········································27 第5 章重构..........………....... ………........... ……18 5.1 素数产生程序. 一个简单的亟构示例……......... 令… ··29 5.2 结论................................................. 38 参考文献...…............................................ 38 第6 章一次编程实践...................................39 6.1 保龄球比赛...........……......... ……..... 39 6.2 结论................................................. 75 第II 部分敏捷设计 第7 章什么是敏捷设计....……............... ……79 7.l 软件出了什么错.....…………....... …··79 7.2 设计的臭味一腐化软1'1的气味·80 7.3 "Copy" 程序………..................…… 82 7.4 保持尽可能好的设计…...……......... g6 7.5 结论..............…······················ ……····86 参考文献···········································....... g7 第8 章单一职责原则(SRP) .................... 33 8.1 单一职责原则CSRP)····…………··88 8.2 结论................................................. 91 参考文献.................................….............. 91 第9 章开放一封闭原则(OCP) ............... 92 9.1 开放一封闭原则(OCP) ......... …··92 9.2 描述.......................................…....... 93 9.3 关键是抽象...………....... ……·…........ 93 9.4 结论............................................... 101 参考文献................................................ 10) 第10 章Liskov 替换原则(LSP)··………102 10.l Liskov 替换原则(LSP) ........... 102 10.2 个违反LSP 的简单例子......... 103 10.3 正方形和矩形,更微妙的违规... 104 10.4 一个实际的例子...……........... ….. 108 10.5 用提取公共部分的方法 代忏继承….........………........... ….. 112 10.6 启发式规则和习惯用法… ·114 10.7 结论............................................. 115 参考文献................................................ 115 第11 章依赖倒置原则(DIP) ................ 116 ll.l 依赖倒置原则(DIP) ……… ·--···116 11.2 层次化...................…................... 117 11.3 .. 个简单的例了……·…............…118 I 1.4 熔炉示例·…………............………···120 11.5 结论·….......................…···············122 参考文献.................................…............ 122 第12 章接口隔离原则(ISP) ............... …123 12.1 接口污染…......…………............. …123 12.2 分离客户就是分离接口……........ 124 12.3 接口隔离原则(ISP) ..... ………··125 12.4 类接门与对象接口…………..……·125 12.5 ATM 用户界面的例了…….......... 127 12.6 结论·······............................…....... 132 xviii 敏捷软件开发;原则、模式与实践 参考文献................................................ 132 第III部分薪水支付案例研究 第13 章COMMAND 模式和 ACTIVE OBJECT 模式..............,37 13.1 简单的COMMAND …................ 138 13.2 书务操作..................................... 139 13.3 UNDO ......................................... 140 13.4 ACTIVE OBJECT 模式…........... 141 13.5 结论·············································144 参考文献······"···· ….................................. 144 第14 章TEMPLATE METHOD 模式和 STRATEGY 模式:继承与委托·… 145 14.1 TEMPLATE METHOD 模式…···145 14.2 STRATEGY 模式………... ….... ….. 151 14.3 结论….......................................... 155 参考文献................................…………... 155 第15 章FACADE 模式和 MEDIATOR 模式.........………....... 156 15.l FACADE 模式…...........…………··156 15.2 MEDIATOR 模式……................. 157 15.3 结论.......................................••····159 参考文献................................................ 159 第16 章SINGLETON 模式和 MONOSTATE 模式··················..·160 16. l SINGLETON 模式···········……….. 161 16.2 MONOSTATE 模式·…...……....... 163 16.3 结论........................................…··169 参考文献.......、....................................... 169 第17 章NULL OBJECT 模式..............…170 17.1 结论............................................. 172 参考文献................................................ 172 第18 章薪水支付案例研究: 第一次迭代开始................….......... 73 18.l 介绍·············································l73 18.2 基于用例分析....…………·············l74 18.3 反思:我们学到f11 么……....... 180 18.4 找Ill 潜在的抽象…………............. J80 18.5 结论···································..········182 参考文献·······························•·"·············182 第19 章薪水支付案例研究:实现...........183 19.1 增加府员……········......…...... …….. 183 19.2 删除雇员….....………...... ……........ 188 19.3 时间卡、销售见条以及 服务费用..................................... ]90 19.4 更改雇员屈性......…... ….............. 196 19.5 支付雇员薪水.......………........ ….. zos 19.6 卞程序......................................... 220 19.7 数据库......................................... 221 19.8 薪水支付系统设计总结......….... 222 参芍文献················································222 第IV 部分打包薪水支付系统 第20 章包的设计原则...............................224 20.1 如何进行包的设计…....……·……·224 20.2 粒度:包的内聚件原则.......... •···225 20.3 稳定性:包的耦合性原则·227 20.4 自J顶向下设计............................. 231 20.5 稳定依赖原则.............……………·232 20.6 稳定抽象原则·……….......…·…….. z3s 20.7 结论............................................. z31 第21 章FACTORY 模式…….....................238 21.I 依赖关系环......……........ …………·239 2\.2 可替换的T厂...........…........... …·240 21.3 对测试支架使用对象U···········241 21.4 使用对象上厂有多么亟要242 21.5 结论............................................. 242 参考文献................................................ 242 第22 章薪水支付案例研究(第2 部分) ....................................................... 243 22.1 包结构和表小法…..............…….. 243 22.2 应用公共封闭原则(CCP)······245 22.3 应用甄用发布等价原则(REP) ·············································、....... 246 22.4 耦合和封装……....….. ……………... 247 22.5 度量............................................. z49 22.6 度退薪水支付应用程序250 22.7 对象工厂.............. 令令...……........ 令令.. 253 22.8 最终的包结构·…...………··········... 255 22.9 结论............................................. 256 参考文献................................................ 256 第V 部分气象站案例研究 第23 章COMPOSITE 摸式......................253 23.l 示例:组合命令·….....…...... ….... 259 23.2 多霆性还是非多默性.........……··259 第24 章OBSERVER 模式 一一回归为模式...........................261 24.1 数字时钟…........……………….... …·261 24.2 结论···························•·················275 24.3 OBSERVER 校式……········………·275 参考文献................................................ 277 第25 章ABSTRACT SF.RVER 模式、ADAPTER 模式和BRIDGE 摸式.....................278 25.l ABSTRACT SERVER 模式········279 25.2 ADAPTER 模式.. ……··········· 令… ··279 25.3 BRIDGE 模式…..……..... ….. …..... 283 25.4 结论·…................................. ••······285 参考文献················································285 第26 章PROXY 摸式和STAIRWAY TO HEAVEN 模式:管理第三方API----286 26.l PROXY 模式…….....…......... …….. 286 26.2 STAIRWAY TO HEAVEN 栈式...…303 26.3 可以用千数据库的其他侠式...... 309 26.4 结论··········--··················• .............. 310 参考文献................................................ 310 第27 章案例研究气象站.......................311 27.l Cloud 公司..................……………·311 27 .2 Nimbus-LC 软件设计·…….......... 313 27.3 结论·············································333 参击义献······················.. ························333 27.4 Nimbus-LC 需求概述……....……·333 27.5 Nimbus士LC 用例…………............. 334 27.6 Nimbus-LC 发布计划....…..... …··336 第V1部分ETS 案例研究 第28 章VISITOR 模式········….......... …······340 28.1 VISITOR 设计模式系列......……·340 28.2 VISITOR 模式…......................... 340 28.3 ACYCLIC VISITOR 松式.......... 344 28.4 DECORATOR 校式....令令.............. 353 28.5 EXTENSION OBJECT 校式...... 358 目录xix 28.6 结论··········.. ·······.......................... 367 参考文献................................................ 367 第29 章STATE 摸式..................................363 29.l 有限状态自动机概述….......……·368 29.2 实现技术.....…····· …... …........ 令······369 29.3 STATE 模式…………….........…·····374 29.4 应该在哪些地方使用状态机...... 379 29.5 作为GUI 中的高层应用策略.... 379 29.6 结论·············································382 29.7 程序·············································382 参考文献........…···············.. ······--············388 第30 章ETS 框架..........令..........令..……...... …389 30.1 介绍·············································389 30.2 框架............................................. 392 30.3 框架设计....... 令......令……… ·············394 30.4 TEMPLATE METHOD 模式的 -个例子·····································399 30.5 TASKMASTER 构架…………...... 407 30.6 结论························..···················410 参考文献············································..··410 附录 附录A UML 表示法I: CGI 示例…....…4ll A.L 课程登记系统:问题描述……·····412 A.2 小结······························.. ········.. ····431 参考文献........................…..................... 431 附录B UML 表示法JI: 统计多路复用器.........参····················432 B.l 统计多路复用器的定义………...…432 B.2 结论··············....·•··························448 参考文献.....…······· …………..................... 44g 附录C 两个公司的讽刺小品.....................449 附录D 源代码就是设计·……......................459 索引..............................................…, .... -... ·······467 设计模式列表 霖笃~::c~~尸......:.............:................二......:...: ..: 勹骂 笠芦尸I.~~~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::~;: BRIDGE···········.. ············.. ···········.. ···········..................................................... 283 2。它。:::~·:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::二::.:..::.昙 盓E飞勹芷飞~~~~;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::二二..二:.器 芦芷飞...:..:..:......:.:......::..:.:....:...:........:..:........:::.........:.:........:.::::...臣 MEDIATOR ................................................................................................... 157 MONOSTATE ................................................................................................ 163 芦s勹~~!:.~:丁:.:.:...::::..:...:.::....:.:.:.:.::..:.:....::.:..::::.::....::::.:::.::::::.::::::::.:.:.. 芦 PROXY····........ ··························································································286 SlNGLETON····································································、............................. 161 STAIRWAY TO HEAVEN ................................................................................. 303 STATE·························.. ····················.. ·• .. ·······... ·......................................... 374 STRATEGY·············································································....、................. 151 TTAESMIP也LATSTEE RM···E··T··H··O··D::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::410457 VISITOR··································.. ·······························"·······"·······、................. 340
上传时间:2018-05 大小:24.91MB
- 17.94MB
敏捷软件开发:原则模式与实践
2012-05-16《敏捷软件开发:原则模式与实践》是综合性、实用性的敏捷开发和极限编程方面的指南,讲述了在预算和时间要求下软件开发人员和项目经理如何使用敏捷开发完成项目:使用真实案例讲解如何用极限编程来设计、测试、重构...
- 45.54MB
敏捷软件开发:原则 模式与实践 C#版
2014-03-16本书中,享誉全球的软件开发专家和软件工程大师RobertC.Martin深入而生动地使用真实案例讲解了面向对象基本原则、重要的设计模式、UML和敏捷实践等程序员必备的知识。本书于2003年荣获第13届Jolt大奖,是C++和Java...
- 0B
Qt 5实现串口调试助手 (源工程文件、0积分下载)
2021-12-06基于Qt 5实现串口调试助手,程序仅供参考,修改了之前十六进制接收0xA0--0xFF有误的问题,新增了窗口自适应(ui文件设置栅格),文件详情可看博客链接https://blog.csdn.net/m0_51294753/article/details/121405661。
- 47.24MB
【SystemVerilog】路科验证V2学习笔记(全600页).pdf
2021-02-25SystemVerilog的听课学习笔记,包括讲义截取、知识点记录、注意事项等细节的标注。 目录如下: 第一章 SV环境构建常识 1 1.1 数据类型 1 四、二值逻辑 4 定宽数组 9 foreach 13 动态数组 16 队列 19 关联数组 21 枚举类型 23 字符串 25 1.2 过程块和方法 27 initial和always 30 function逻辑电路 33 task时序电路 35 动态 静态变量 39 1.3 设计例化和连接 45 第二章 验证的方法 393 动态仿真 395 静态检查 397 虚拟模型 403 硬件加速 405 效能验证 408 性能验证 410 第三章 SV组件实现 99 3.1 接口 100 什么是interface 101 接口的优势 108 3.2 采样和数据驱动 112 竞争问题 113 接口中的时序块clocking 123 利于clocking的驱动 133 3.3 测试的开始和结束 136 仿真开始 139 program隐式结束 143 program显式结束 145 软件域program 147 3.4 调试方法 150 第四章 验证的计划 166 4.1 计划概述 166 4.2 计划的内容 173 4.3 计划的实现 185 4.4 计划的进程评估 194 第五章 验证的管理 277 6.1 验证的周期检查 277 6.2 管理三要素 291 6.3 验证的收敛 303 6.4 问题追踪 314 6.5 团队建设 321 6.6 验证的专业化 330 第六章 验证平台的结构 48 2.1 测试平台 49 2.2 硬件设计描述 55 MCDF接口描述 58 MCDF接口时序 62 MCDF寄存器描述 65 2.3 激励发生器 67 channel initiator 72 register initiator 73 2.4 监测器 74 2.5 比较器 81 2.6 验证结构 95 第七章 激励发生封装:类 209 5.1 概述 209 5.2 类的成员 233 5.3 类的继承 245 三种类型权限 protected/local/public 247 this super 253 成员覆盖 257 5.4 句柄的使用 263 5.5 包的使用 269 第八章 激励发生的随机化 340 7.1 随机约束和分布 340 权重分布 353 条件约束 355 7.2 约束块控制 358 7.3 随机函数 366 7.4 数组约束 373 7.5 随机控制 388 第九章 线程与通信 432 9.1 线程的使用 432 9.2 线程的控制 441 三个fork...join 443 等待衍生线程 451 停止线程disable 451 9.3 线程的通信 458 第十章 进程评估:覆盖率 495 10.1 覆盖率类型 495 10.2 功能覆盖策略 510 10.3 覆盖组 516 10.4 数据采样 524 10.5 覆盖选项 544 10.6 数据分析 550 第十一章 SV语言核心进阶 552 11.1 类型转换 552 11.2 虚方法 564 11.3 对象拷贝 575 11.4 回调函数 584 11.5 参数化的类 590 第十二章 UVM简介 392 8.2 UVM简介 414 8.3 UVM组件 420 8.4 UVM环境 425
- 131.54MB
AutoSAR标准协议4.2.2
2020-01-19AutoSAR标准协议规范4.2.2,里面包含了AutoSAR组织所规定的AutoSAR架构的标准规范协议原文档。对AutoSAR的学习有一定的借鉴意义
- 2.13MB
光伏-储能并网系统仿真.rar
2021-12-31该文件是清华大学储能课的期末大作业。用SIMULINK搭建了一个完整的光伏-储能并网系统。我的博客中介绍了系统实现的具体方法,欢迎查看!
- 35KB
NPPJSONViewer.zip
2022-01-17NodePad++ JSON格式化插件
- 339KB
GD32替换STM32注意事项.pdf
2020-04-12GD32 介绍与 STM32 兼容性汇总。STM32的代码直接在GD32上运行需要小部分的修改。按教程做对应修改就行哈。
- 1.50MB
XCP协议的规范文档
2020-01-19XCP协议的原规范文档,主要包含了Part1-5共5个部分,其中第三部分又分为CAN、以太网和Sxl等。对于XCP协议的开发者和学习者有借鉴意义
- 5.0MB
VS2015安装证书,JavaScript_ProjectSystem.msi,JavaScript_LanguageService.msi
2021-08-06vs2015.iso包安装,不然会卡在安装包丢失或损坏
- 2KB
CANoe通过CAPL脚本实现自动测试
2020-12-12现在汽车行业用vector的工具进行自动测试,但是该自动测试模板很少,本案例是分享CAPL脚本自动化测试的模板,和自动控制测试步骤的XML模板,使用过程可以通过本人分享的文档来实现工程的建立到自动测试的完成。通过CAPL脚本+XML控制测试步骤,实现自动测试,生成测试报告。
- 8.81MB
蓝牙BLE协议中文版.pdf
2020-06-16蓝牙BLE协议中文版,帮助初学者更快掌握协议内容。协议为SIG官方协议的中文版,所有协议内容均与英文原版协议内容保持一致
- 1KB
BaiduOCR.zip
2021-06-27按键精灵百度文字识别 自定义库 使用说明参考:https://blog.csdn.net/sinat_22215253/article/details/118272746
- 5.19MB
AD20官方中文教程.pdf
2019-12-17官方提供的入门教材,其中重点讲解了一个简易电路板的开发过程,从元器件的选择,元器件的布置,到最后的产品输出,比较完整的一个实例,适合初次使用软件的开发人员使用。
- 17.15MB
电路分析基础第二版PDF电子书免费下载
2021-07-07《21世纪高等院校信息与通信工程规划教材:电路分析基础(第2版)》以电路理论的经典内容为核心,以提高学生的电路理论水平和分析解决问题的能力为出发点,以培养“厚基础、宽口径、会设计、可操作、能发展”,具有创新精神和实践能力人才为目的。《21世纪高等院校信息与通信工程规划教材:电路分析基础(第2版)》较全面地阐述了电路的基本理论,并适当引入电路新技术。内容遵从先易后难,由浅入深,循序渐进的原则。主要包括电路的基本概念及基本元件、等效变换、基本分析方法、基本定理、动态电路分析、非直流动态电路的分析、正弦稳态电路分析、三相电路、频率响应、耦合电感的电路分析、双口网络、拉普拉斯变换及其应用、非线性电路、仿真软件Multisim10。0在电路分析中的应用14章内容。每章精选适量例题及填空、选择、计算题,以加深对理论的理解。在叙述中力求文字简练,通俗易懂。《21世纪高等院校信息与通信工程规划教材:电路分析基础(第2版)》可作为高等院校电子信息、通信、测控技术及仪器、自动化、自动控制、计算机等电类本科专业的教材,也可供有关专业工程技术人员及其他相关人员阅读参考。
- 54KB
七参数坐标转换工具(可在WGS84、北京54、西安80、CGCS2000坐标系中任意两个转换)
2019-08-13七参数坐标转换工具(可在WGS84、北京54、西安80、CGCS2000坐标系中任意两个转换),也可以自定义参数转换
- 25.1MB
完整版 Microsoft.ACE.OLEDB.12.0 驱动下载.rar
2019-12-30亲测好用,挺不错的资源,大家快来下载吧!挺有用的!需要的话可以来下载哦!Microsoft.ACE.OLEDB.12.0驱动下载,解决 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序,权限问题
- 252.21MB
CMSIS-DAP使用说明及驱动.rar
2020-06-10仿真器,含有详细的教程,驱动,使用方法等等,keil和IAR安装及支持CMSIS-DAP工具,CoFlash及Hex2bin工具包,DAP仿真器下载程序说明等等
- 46.4MB
Matlab安装MinGW-w64 C/C++ 编译器
2019-04-01Matlab安装 MinGW-w64 编译器。 包括下载好的MinGW-w64 C/C++和 简单的安装步骤(Readme.doc)
- 14.34MB
qt样式表一键生成(花狗Fdog)
2020-08-29QT样式表一键生成,避免了无穷无尽的百度搜索,一来方便学习,所以参数都写在左下角,方便了解到使用了什么生成了什么,二来不用重复造轮子,调节后,可直接将左下角生成的QSS代码复制到qt的样式表里面即可显示效果。
- 14.83MB
Elsevier期刊word模板.zip
2021-08-10各种模板,单双
- 4.36MB
基于STM32F103的RS485通信(采用DMA方式发送数据,中断方式接收数据)
2019-06-14描述:硬件:RS485接口 协议:Modbus RTU。功能:采用DMA方式发送数据,中断方式接收数据。注: 接收到指令之后,判断是否是相应指令而进行DMA数据发送。DMA:开启DMA,DMA发送完一帧数据后产生发送完成中断,在DMA发送完成中断中,开启USART接收中断(字节), 在USART接收中断中保存接收到的数据。注: 本程序额外开启了USART空闲中断,在空闲中断中将 USART接收中断中接收到的数据发送至串口调试助手显示并开启DMA请求
- 47KB
软件测试报告模板(完美实用)
2019-04-04本测试报告为XX系统测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合需求。预期参考人员包括用户、测试人员、开发人员、项目管理者、其他质量管理人员和需要阅读本报告的高层经理。
- 14.26MB
BeyondCompare Pro 4.2.6.23150 x64中文版.zip
2019-12-20文件比较软件BeyondCompare Pro 4.2.6.23150 x64中文版
- 2.97MB
电气类的visio模版元件库
2022-02-18电气类的visio模版元件库
- 210KB
Tangent免费.rar
2021-08-04OriginLab也可以安装Tangent 插件 免费下载 请点赞
- 1.34MB
软件需求规格说明书模板(超详细).doc
2020-03-09软件需求规格说明书模板(超详细),参考书籍 1. 《软件工程基础》 赵一丁 北京邮电大学出版社 2. 《软件需求》 劳森 (作者), 刘晓晖 (译者) 电子工业出版社 3. 《软件需求工程:原理和方法》 金芝,刘璘,金英 科学出版社 4. 《实用软件工程》第三版 殷人昆 清华大学出版社 5. 《电子政务发展需求与效益分析》 朱建明 经济科学出版社 6. 《电子政务信息系统的规划与建设》 田景熙,洪琢 人民邮电出版社 7. 《电子政务信息公平研究》 唐思慧 世界图书出版公司 8. 《电子政务系统的需求分析》 甘明鑫,曹菁 机械工业出版社
- 5.50MB
ISO14229汽车诊断协议文档
2020-03-12ISO14229汽车诊断标准协议(英文)共分为7个部分,主要讲解了UDS协议、诊断会话以及底层通信的规范
- 8KB
rpa拆包工具(小白适用)
2021-07-29内含rpa拆包工具、操作说明,适用于非专业人士