实战Python设计模式:可复用面向对象软件开发实践
电子书推荐
-
敏捷软件开发:原则、模式与实践 评分:
软件开发的良好书,着重强调了敏捷开发软件的理念。
上传时间:2015-06 大小:23.57MB
- 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先生为我们写了一本如此优秀的著作,我从本书中学到了很多。我相信本书也不会令您失望。
- 7.17MB
敏捷软件开发-原则、模式与实践
2014-09-25主要讲述敏捷软件开发的原则、模式与实践,以C#编码为主。
- 17.94MB
敏捷软件开发 原则、模式与实践
2010-01-05讲述在预算和时间要求下,软件开发人员和项目经理如何使用敏捷开发完成项目 使用真实的案例讲解如何使用极限编程来设计、测试、重构和结对编程 重点讲述了如何使用UML和设计模式解决面向客户系统问题
- 9.76MB
敏捷软件开发原则与实践2
2009-07-19最近在学XP,上网找了相关资料,在这看到了一份:敏捷软件开发原则与实践,下载一看是英文版。没看懂,在其他站点找到这个中文版,希望对需要的人有帮助。 总大小是19M所以分两次上传名称后面带有1、2区分。
- 17.94MB
敏捷软件开发:原则模式与实践
2012-05-16《敏捷软件开发:原则模式与实践》是综合性、实用性的敏捷开发和极限编程方面的指南,讲述了在预算和时间要求下软件开发人员和项目经理如何使用敏捷开发完成项目:使用真实案例讲解如何用极限编程来设计、测试、重构...
- 45.54MB
敏捷软件开发:原则 模式与实践 C#版
2014-03-16本书中,享誉全球的软件开发专家和软件工程大师RobertC.Martin深入而生动地使用真实案例讲解了面向对象基本原则、重要的设计模式、UML和敏捷实践等程序员必备的知识。本书于2003年荣获第13届Jolt大奖,是C++和Java...
- 1.72MB
STM32循迹小车(灰度+OpenMV权重判断)
2023-07-17循迹小车是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。智能循迹小车是一个运用传感器、单片机、电机驱动及自动控制等技术来实现按照预先设定的模式下,不受人为管理时能够自动实现循迹导航的高新科技。对于初学者来讲,循迹小车是很适合新手实践的STM32项目,在目前众多的电子竞赛,如电子设计竞赛、工程训练赛、智能竞赛中均会出现循迹小车或与小车相关的比赛。循迹小车一般包含车体结构设计,驱动电路设计,程序设计三个部分。
- 1.84MB
谭浩强C语言程序设计第五版详细答案
2023-11-10谭浩强C语言程序设计第五版详细答案。 该教材有配套教材——《C程序设计(第五版)学习辅导》 《C程序设计(第五版》是由谭浩强编著,2017年清华大学出版社出版的“十二五”普通高等教育本科国家级规划教材、北京市高等教育精品立项项目教材、中国高等院校计算机基础教育课程体系规划教材。该教材是既可作为高等学校各专业的正式教材,也适合读者自学。
- 95.86MB
MQTT协议设备客户端与图传APP.zip
2023-11-07这是基于Qt设计的MQTT图传客户端和MQTT客户端APP。 注意: 这不是源码,这是打包好的软件。打开可以运行这种。 我的博客里很多MQTT相关的项目里都用到了这里面包含的软件,大家可以直接下载使用。 0积分下载。
- 293.41MB
Keil.STM32H7xx-DFP.3.1.1.pack
2023-07-26STM32H7xx_DFP.3.1.1.pack
- 20.31MB
基于stm32f407的示波器+FFT频谱分析
2022-06-01使用DMA直接将ADC->DR中的数据传输到ADC数据缓存区,使用定时器触发adc,可调采样率,最高2.8MHz,可进行fft运算,使用emwin绘制时域图像和频域图。
- 11KB
C语言求一个正整数的位数
2023-10-18要求一个正整数的位数,可以通过循环和除法运算来实现。以下是一个使用C语言的示例代码: #include <stdio.h> int main() { unsigned int num; int count = 0; printf("请输入一个正整数:"); scanf("%u", &num); while (num > 0) { num = num / 10; count++; } printf("该正整数的位数为:%d\n", count); return 0; } 在上述代码中,首先声明了一个无符号整数变量num和一个整数变量count,用于保存输入的正整数和位数。然后通过scanf函数让用户输入一个正整数。 接下来的while循环中,每次将num除以10,并将结果赋值给num,同时count自增1。循环的条件是num大于0,即当num不再有位数时,循环结束。 最后,通过printf函数输出正整数的位数。 注意,上述代码中使用了unsigned int来保存输入的正整数,
- 0B
zlib-1.2.13.tar.gz
2022-12-06zlib-1.2.12.tar.gz
- 12KB
猴子吃桃问题c语言.猴子吃桃问题c语言
2023-11-04猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问题c语言猴子吃桃问
- 138.43MB
mingw64.zip
2024-02-26windows下的gcc安装包
- 5.95MB
STM32CubeIDE 1.14.0 自动补全代码
2023-12-05替换路径C:\***\STM32CubeIDE\STM32CubeIDE\plugins
- 9.77MB
基于STM32的FFT频谱分析+波形识别
2019-07-10里面有两个文件夹,第一个是基础版本,第二个可以触屏改变采样频率,进而优化频率分辨率,使频谱分析更精确。频谱分析(50Hz~200Hz,其他范围内应该也可以)包括了基频,3,5,7次谐波的峰值,波形识别可识别正弦,方波,锯齿波,三角波。硬件为正点原子精英版3.5‘TFTLCD,直接烧写肯定能用。(我的博客里有程序说明)
- 34KB
ORIGIN消除demo字样,适用ORIGIN2018版本
2022-04-11放到ORIGIN安装目录,双击运行,然后打开原ORIGIN快捷方式运行ORIGIN即可
- 263.49MB
vc6.0企业版
2021-01-03c语言企业版,考试系统可以使用。
- 8KB
c51单片机流水灯c51单片机流水灯
2023-11-07c51单片机流水灯c51单片机流水灯
- 1.63MB
STM32F103系列的HAL库函数说明(中文版)
2022-06-22STM32的函数说明(中文) 本手册介绍了 32 位基于 ARM 微控制器 STM32F101xx 与 STM32F103xx 的固件函数库。 该函数库是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函 数库还包括每一个外设的驱动描述和应用实例。通过使用本固件函数库,无需深入掌握细节,用户也可以 轻松应用每一个外设。因此,使用本固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。
- 142.55MB
基于51单片机智能温控风扇设计
2022-10-11包括原理图和PCB源文件(AD19)、程序(Keil5)、protues仿真(protues8.7)、设计报告、仿真视频、开发资料、资料使用介绍视频,仿真讲解视频,原理图讲解视频,程序讲解视频、单片机最小系统介绍等。
- 34KB
51单片机16*16点阵,源代码+仿真实现
2024-04-211.51单片机 2.16*16点阵 3.动态滚动显示 4.protues绘图仿真实现 5.完成工程源代码
- 5.65MB
【软件下载】Modbus Poll 7.0.1 + Modbus Slave 6.1.3
2022-06-17资源简介:Modbus Poll是一个模拟Modbus协议主机的上位机软件,主要用于模拟测试跟其他从机设备通信的过程。该软件内部封装标准Modbus协议栈,通过图形化界面使得操作更为简便。目前软件支持01、02、03、04、05、06、15、16功能码,异常报文检测,原始报文查看,数据记录等功能,是调试Modbus协议栈的好帮手。与之成套存在的另一个软件--Modbus Slave,则是模拟Modbus协议从机的上位机软件。 适用人群:不管是刚接触Modbus的新人,还是在行业内打滚多年的老手,都是不可多得的神器。
- 7.56MB
STM32 USB OTA升级
2023-02-19stm32 ota升级,自制bootloader,并通过usb进行固件的传输和升级,文件包含两个完整的工程,一个是bootloader的源码,一个是app的源码。 更多详细信息可以看我的博客:https://blog.csdn.net/ShenZhen_zixian/article/details/129074047
- 47.56MB
ICM-42688-P-6轴姿态传感器 STM32F103VET6 示例代码
2023-10-24本工程实现了ICM-42688-P的陀螺仪、加速度计、温度计数据的获取,并显示在了OLED屏幕上。并未加入APEX、FIFO寄存器的使用,请按需获取本资源。代码中具体参数的更改,请参照放在Hareware/ICM-42688中的手册(还有翻译版本),希望能本资源能帮到各位程序猿
- 10KB
c 语言实现的九九乘法表
2023-11-09九九乘法表c 语言
- 4.34MB
STM32F4基于SPI实现AD7606串行采集
2023-08-16正点原子STM32F4探索者基于SPI实现AD7606串行采集,可以调整采样率采样波形,也可以单做为电压采集,综合各个AD7606的驱动,最终在STM32F4探索者上调试成功。
- 2.58MB
破解忘记的压缩文件密码
2024-04-24破解忘记的压缩文件密码
- 4KB
c语言贪吃蛇-项目实战
2024-04-20贪吃蛇游戏代码