实战Python设计模式:可复用面向对象软件开发实践
电子书推荐
-
敏捷软件开发:原则、模式与实践(C#版). 评分:
第一部分 敏捷开发 第1章 敏捷实践 1.1 敏捷联盟 1.1.1 人和交互重于过程和工具 1.1.2 可以工作的软件重于面面俱到的文档 1.1.3 客户合作重于合同谈判 1.1.4 随时应对变化重于遵循计划 1.2 原则 1.3 结论 1.4 参考文献 第2章 极限编程概述 2.1 极限编程实践 2.1.1 完整团队 2.1.2 用户故事 2.1.3 短交付周期 2.1.4 验收测试 2.1.5 结对编程 2.1.6 测试驱动开发 2.1.7 集体所有权 2.1.8 持续集成 2.1.9 可持续的开发速度 2.1.10 开放的工作空间 2.1.11 计划游戏 2.1.12 简单设计 2.1.13 重构 2.1.14 隐喻 2.2 结论 2.3 参考文献 第3章 计划 3.1 初始探索 3.2 发布计划 3.3 迭代计划 3.4 定义“完成” 3.5 任务计划 3.6 迭代 3.7 跟踪 3.8 结论 3.9 参考文献 第4章 测试 4.1 测试驱动开发 4.1.1 测试优先设计的例子 4.1.2 测试促使模块之间隔离 4.1.3 意外获得的解耦合 4.2 验收测试 4.3 意外获得的构架 4.4 结论 4.5 参考文献 第5章 重构 5.1 素数产生程序:一个简单的重构示例 5.1.1 单元测试 5.1.2 重构 5.1.3 最后审视 5.2 结论 5.3 参考文献 第6章 一次编程实践 6.1 保龄球比赛 6.2 结论 第二部分 敏捷设计 第7章 什么是敏捷设计 7.1 设计臭味 7.1.1 设计臭味——腐化软件的气味 7.1.2 僵化性 7.1.3 脆弱性 7.1.4 顽固性 7.1.5 粘滞性 7.1.6 不必要的复杂性 7.1.7 不必要的重复 7.1.8 晦涩性 7.2 软件为何会腐化 7.3 Copy程序 7.3.1 熟悉的场景 7.3.2 Copy程序的敏捷设计 7.4 结论 7.5 参考文献 第8章 SRP:单一职责原则 8.1 定义职责 8.2 分离耦合的职责 8.3 持久化 8.4 结论 8.5 参考文献 第9章 OCP:开放-封闭原则 9.1 OCP概述 9.2 Shape应用程序 9.2.1 违反OCP 9.2.2 遵循OCP 9.2.3 预测变化和“贴切的”结构 9.2.4 放置吊钩 9.2.5 使用抽象获得显式封闭 9.2.6 使用“数据驱动”的方法获取封闭性 9.3 结论 9.4 参考文献 第10章 LSP:Liskov替换原则 10.1 违反LSP的情形 10.1.1 简单例子 10.1.2 更微妙的违反情形 10.1.3 实际的例子 10.2 用提取公共部分的方法代替继承 10.3 启发式规则和习惯用法 10.4 结论 10.5 参考文献 第11章 DIP:依赖倒置原则 11.1 层次化 11.1.1 倒置的接口所有权 11.1.2 依赖于抽象 11.2 简单的DIP示例 11.3 熔炉示例 11.4 结论 11.5 参考文献 第12章 ISP:接口隔离原则 12.1 接口污染 12.2 分离客户就是分离接口 12.3 类接口与对象接口 12.3.1 使用委托分离接口 12.3.2 使用多重继承分离接口 12.4 ATM用户界面的例子 12.5 结论 12.6 参考文献 第13章 C#程序员UML概观 13.1 类图 13.2 对象图 13.3 顺序图 13.4 协作图 13.5 状态图 13.6 结论 13.7 参考文献 第14章 使用UML 14.1 为什么建模 14.1.1 为什么构建软件模型 14.1.2 编码前应该构建面面俱到的设计吗 14.2 有效使用UML 14.2.1 与他人交流 14.2.2 脉络图 14.2.3 项目结束文档 14.2.4 要保留的和要丢弃的 14.3 迭代式改进 14.3.1 行为优先 14.3.2 检查结构 14.3.3 想象代码 14.3.4 图的演化 14.4 何时以及如何绘制图示 14.4.1 何时要画图,何时不要画图 14.4.2 CASE工具 14.4.3 那么,文档呢 14.5 结论 第15章 状态图 15.1 基础知识 15.1.1 特定事件 15.1.2 超状态 15.1.3 初始伪状态和结束伪状态 15.2 使用FSM图示 15.3 结论 第16章 对象图 16.1 即时快照 16.2 主动对象 16.3 结论 第17章 用例 17.1 编写用例 17.1.1 备选流程 17.1.2 其他东西呢 17.2 用例图 17.3 结论 17.4 参考文献 第18章 顺序图 18.1 基础知识 18.1.1 对象、生命线、消息及其他 18.1.2 创建和析构 18.1.3 简单循环 18.1.4 时机和场合 18.2 高级概念 18.2.1 循环和条件 18.2.2 耗费时间的消息 18.2.3 异步消息 18.2.4 多线程 18.2.5 主动对象 18.2.6 向接口发送消息 18.3 结论 第19章 类图 19.1 基础知识 19.1.1 类 19.1.2 关联 19.1.3 继承 19.2 类图示例 19.3 细节 19.3.1 类衍型 19.3.2 抽象类 19.3.3 属性 19.3.4 聚集 19.3.5 组合 19.3.6 多重性 19.3.7 关联衍型 19.3.8 内嵌类 19.3.9 关联类 19.3.10 关联修饰符 19.4 结论 19.5 参考文献 第20章 咖啡的启示 20.1 MarkIV型专用咖啡机 20.1.1 规格说明书 20.1.2 常见的丑陋方案 20.1.3 虚构的抽象 20.1.4 改进方案 20.1.5 实现抽象模型 20.1.6 这个设计的好处 20.2 面向对象过度设计 20.3 参考文献 第三部分 薪水支付案例研究 第21章 COMMAND模式和ACTIVEOBJECT模式:多功能与多任务 21.1 简单的Command 21.2 事务 21.2.1 实体上解耦和时间上解耦 21.2.2 时间上解耦 21.3 Undo()方法 21.4 ACTIVEOBJECT模式 21.5 结论 21.6 参考文献 第22章 TEMPLATEMETHOD模式和STRATEGY模式:继承和委托 22.1 TEMPLATEMETHOD模式 22.1.1 滥用模式 22.1.2 冒泡排序 22.2 STRATEGY模式 22.3 结论 22.4 参考文献 第23章 FACADE模式和MEDIATOR模式 23.1 FACADE模式 23.2 MEDIATOR模式 23.3 结论 23.4 参考文献 第24章 SINGLETON模式和MONOSTATE模式 24.1 SINGLETON模式 24.1.1 SINGLETON模式的好处 24.1.2 SINGLETON模式的代价 24.1.3 运用SINGLETON模式 24.2 MONOSTATE模式 24.2.1 MONOSTATE模式的好处 24.2.2 MONOSTATE模式的代价 24.2.3 运用MONOSTATE模式 24.3 结论 24.4 参考文献 第25章 NULLOBJECT模式 25.1 描述 25.2 结论 25.3 参考文献 第26章 薪水支付案例研究:第一次迭代开始 26.1 初步的规格说明 26.2 基于用例分析 26.2.1 增加新雇员 26.2.2 删除雇员 26.2.3 登记考勤卡 26.2.4 登记销售凭条 26.2.5 登记工会服务费 26.2.6 更改雇员明细 26.2.7 发薪日 26.3 反思:找出底层的抽象 26.3.1 雇员支付类别抽象 26.3.2 支付时间表抽象 26.3.3 支付方式 26.3.4 从属关系 26.4 结论 26.5 参考文献 第27章 薪水支付案例研究:实现 27.1 事务 27.1.1 增加雇员 27.1.2 删除雇员 27.1.3 考勤卡、销售凭条以及服务费用 27.1.4 更改雇员属性 27.1.5 犯了什么晕 27.1.6 支付雇员薪水 27.1.7 支付领月薪的雇员薪水 27.1.8 支付钟点工薪水 27.2 主程序 27.3 数据库 27.4 结论 27.5 关于本章 27.6 参考文献 第四部分 打包薪水支付系统 第28章 包和组件的设计原则 28.1 包和组件 28.2 组件的内聚性原则:粒度 28.2.1 重用—发布等价原则 28.2.2 共同重用原则 28.2.3 共同封闭原则 28.2.4 组件内聚性总结 28.3 组件的耦合性原则:稳定性 28.3.1 无环依赖原则 28.3.2 稳定依赖原则 28.3.3 稳定抽象原则 28.4 结论 第29章 FACTORY模式 29.1 依赖问题 29.2 静态类型与动态类型 29.3 可替换的工厂 29.4 对测试支架使用对象工厂 29.5 工厂的重要性 29.6 结论 29.7 参考文献 第30章 薪水支付案例研究:包分析 30.1 组件结构和符号 30.2 应用CCP 30.3 应用REP 30.4 耦合和封装 30.5 度量 30.6 度量薪水支付应用程序 30.6.1 对象工厂 30.6.2 重新思考内聚的边界 30.7 最终的包结构 30.8 结论 30.9 参考文献 第31章 COMPOSITE模式 31.1 组合命令 31.2 多重性还是非多重性 31.3 结论 第32章 OBSERVER——演化至模式 32.1 数字时钟 32.2 OBSERVER模式 32.2.1 模型 32.2.2 面向对象设计原则的运用 32.3 结论 32.4 参考文献 第33章 ABSTRACTSERVER模式、ADAPTER模式和BRIDGE模式 33.1 ABSTRACTSERVER模式 33.2 ADAPTER模式 33.2.1 类形式的ADAPTER模式 33.2.2 调制解调器问题、适配器以及LSP 33.3 BRIDGE模式 33.4 结论 33.5 参考文献 第34章 PROXY模式和GATEWAY模式:管理第三方API 34.1 PROXY模式 34.1.1 实现PROXY模式 34.1.2 小结 34.2 数据库、中间件以及其他第三方接口 34.3 TABLEDATAGATEWAY 34.3.1 测试和内存TDG 34.3.2 测试DbGateWay 34.4 可以用于数据库的其他模式 34.5 结论 34.6 参考文献 第35章 VISITOR模式 35.1 VISITOR模式 35.2 ACYCLICVISITOR模式 35.3 DECORATOR模式 35.4 EXTENSIONOBJECT模式 35.5 结论 35.6 参考文献 第36章 STATE模式 36.1 嵌套switch/case语句 36.1.1 内部作用域的状态变量 36.1.2 测试动作 36.1.3 代价和收益 36.2 迁移表 36.2.1 使用表解释 36.2.2 代价和收益 36.3 STATE模式 36.3.1 STATE模式和STRATEGY模式 36.3.2 代价和收益 36.4 状态机编译器 36.4.1 SMC生成的Turnstile.cs以及其他支持文件 36.4.2 代价和收益 36.5 状态机应用的场合 36.5.1 作为GUI中的高层应用策略 36.5.2 GUI交互控制器 36.5.3 分布式处理 36.6 结论 36.7 参考文献 第37章 薪水支付案例研究:数据库 37.1 构建数据库 37.2 一个代码设计缺陷 37.3 增加雇员 37.4 事务 37.5 加载Employee对象 37.6 还有什么工作 第38章 薪水支付系统用户界面:Model-View-Presenter 38.1 界面 38.2 实现 38.3 构建窗口 38.4 Payroll窗口 38.5 真面目 38.6 结论 38.7 参考文献 附录A 双公司记 Rufus公司:“日落”项目 Rupert工业公司:“朝晖”项目 附录B 什么是软件 索引
上传时间:2012-08 大小:45.54MB
- 45.54MB
敏捷软件开发:原则 模式与实践 C#版
2014-03-16本书中,享誉全球的软件开发专家和软件工程大师RobertC.Martin深入而生动地使用真实案例讲解了面向对象基本原则、重要的设计模式、UML和敏捷实践等程序员必备的知识。本书于2003年荣获第13届Jolt大奖,是C++和Java...
- 174.90MB
VM-Pro通用化视觉系统框架V1.6
2023-03-02视觉框架VM PRO V0.1.6版本,C#源码框架,机器视觉源码框架,编程语言C#,算法使用的是halcon,参考了cognex visionpro的输入输出,有C#基础和Halcon基础学习这个很好,是框架源码,可根据自己的理解改成自己想要的,目前该框架集成了halcon、海康威视、大恒、AVT等操作相机的sdk,运动控制卡 集成了雷塞Dmc1000b和雷塞ioc0640等! 本人的编译环境是visiual studio 2019企业版,halcon版本是20.11 steady版本
- 4.88MB
串口侦听 串口监听 不占用串口 不占用串口的监听
2023-12-27高效的串口监听器,且不占用串口本身。驱动已签名,可用在64位操作系统。基于.net framework 4.6.1开发
- 48.10MB
net framework4.0和4.5开发包(用于visual studio 2022 安装net旧版本)
2023-01-10visual studio 2022 安装net旧版本(net framework4.0和4.5),Visual Studio 2022安装程序中单个组件中没有 .net framework4.0或者.net framework4.5的问题。该资源包从通过nuget 下载 4.0 和4.5安装包,打包有效部分,只需要将里面的v4.0和v4.5文件夹放到C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework路径下面,重启vs2022即可。具体流程可见:https://blog.csdn.net/qq_39427511/article/details/128071790
- 942KB
【C#源码】TCP+串口通信的调试工具 (源码+教学视频)
2022-05-29一个既支持TCP通信又支持串口通信的调试工具; 可以通过下方链接预览源码的运行效果。 博客原文:https://blog.csdn.net/lgj123xj/article/details/125037209 教学视频:https://www.bilibili.com/video/BV1gL4y1K7Vs/
- 1.20MB
C# 读取西门子S7系列PLC教程及源码 Profinet
2023-03-30C# 读取西门子S7系列PLC教程及源码 Profinet
- 160KB
C#含有ModbusRtu通讯库,通讯示例 硬件设备测试例程
2023-06-02C#含有ModbusRtu通讯库,通讯示例。 硬件设备包括电推杆、压力变送器等。ModbusRtu通讯库内含方法包括读取输入线圈、读取输出线圈、读取输出寄存器、发送指令、CRC校验等。
- 368KB
基于C#与Sql Server的智慧星学生选课管理系统.rar
2023-05-12基于C#与Sql Server的智慧星学生选课管理系统.rar
- 993KB
C#源码 上位机 SECS协议,里面包含各种进制转换,用于半导体行业,程序全源码
2023-05-23C#源码 上位机 SECS协议,里面包含各种进制转换,用于半导体行业,程序全源码
- 1.43MB
C#40000字全套精华教程!!!从入门到精通,一篇就够了!!!
2022-04-06C#40000字全套精华教程!!!从入门到精通,一篇就够了!!! 本文摘选自菜鸟教程,csdn,以及本人学习的笔记资源,如果遇到显示或者格式其他问题可以直接查看pdf文件
- 57.20MB
HslCommunication.dll 7.0.1 免费版本 全部源代码和测试工程
2022-06-26HslCommunication_Vs2019 全部源代码和测试工程 HslCommunication.dll 7.0.1 免费版本 注意:HslCommunication 7.0.1后的版本已经开始收费了。这个是最后可用的free版本。
- 0B
封装owin的dll包
2022-11-25适用于.net平台的内置webapi,可以解耦IIS,加载此dll,只要调用相应方法,就能在你的cs程序跑起来webapi,用以和其他软件之间的通信
- 103.2MB
c#深度学习-PaddleOCRSharp数字识别demo
2023-09-22PaddleOCRSharp的例子,直接运行识别数字,注释详细,用于自学深度学习。PaddleOCRSharp是基于PaddleOCR的C++代码修改并封装的.NET工具类库,支持文本识别、文本检测、基于文本检测结果的统计分析的表格识别功能。 PaddleOCRSharp封装极其简化,实际调用仅几行代码,极大的方便了中下游开发者的使用和降低了PaddleOCR的使用入门级别,同时提供不同的.NET框架使用,方便各个行业应用开发与部署。Nuget包即装即用,可以离线部署,不需要网络就可以识别的高精度中英文OCR。 本项目中PaddleOCR.dll文件是基于开源项目PaddleOCR的C++代码修改而成的C++动态库,基于opencv的x64编译而成的。 本项目只能在X64的CP 讲解文章:https://blog.csdn.net/m0_55074196/article/details/131895065?utm_source%20=%20uc_fansmsg github链接:https://github.com/raoyutian/PaddleOCRSharp/tree/main
- 62KB
C# WinForm虚拟串口通信
2023-04-25C# 利用虚拟串口工具生成虚拟串口,使用WinForm行串口之间的相互通信,发送与接收数据支持字符形式与16进制的发送与接收。
- 7.82MB
MaterialDesignIn XamlToolkit 压缩包(已编译,可直接打开,0 积分免费下载)
2022-04-09MaterialDesignInXamlToolkit的编译文件,内涵可直接运行的MaterialDesignDemo,以及它所需要的依赖文件。 解压之后找到MaterialDesignDemo.exe打开即可,里面有它大部分的样式信息和xaml代码,可以用于WPF界面程序,使用教程可以参考我的文章 https://blog.csdn.net/little_stick_i/article/details/121831168。 免费下载,若由于系统动态调分导致的需要积分下载,可以联系作者修改。
- 24.57MB
全套C#教程(可当手册)
2019-03-28一整套C#课件的PDF版,包含语言基础、流程控制、函数、定义类、数组字符串和集合、键盘和鼠标操作、Web编程等等。格式统一,叙述简明,辅以示例,可以当作C#编程手册来用。7z压缩包格式。
- 7.61MB
C# MES_开源源代码
2022-07-13C# MES_开源源代码
- 259KB
基于C#的软件加密、授权与注册
2022-09-30本资源介绍了基于本机特征信息(如CPU、主板、BIOS和MAC等) 的软件加密、授权与注册方法,货真价实、童叟无欺!原博客请参考:https://blog.csdn.net/C_xxy/article/details/127104009。
- 593KB
C# 使用MQTTnet实现MQTT通信
2022-04-17该资源是基于MQTTnet实现Mqtt通信的demo MQTTnet 是一个用于基于 MQTT 的通信的高性能 .NET 库。它提供 MQTT 客户机和 MQTT 服务器(代理),并支持版本 5 之前的 MQTT 协议。
- 68.46MB
C# WinForm使用AForge拍照及录像
2023-04-26c# WinForm利用AForge、AForge.Controls、AForge.Video.DirectShow、AForge.Video.FFMPEG实现调用电脑摄像头进行拍照与录像功能
- 58.57MB
CefFlashBrowser - Flash浏览器
2021-08-04默认支持Flash的简易浏览器 GitHub: https://github.com/Mzying2001/CefFlashBrowser
- 58.67MB
2019年最新整理出的20 套 c# 项目(包含开发实例及源代码)
2019-08-222019年最新整理出的20 套 c# 项目(包含开发实例及源代码)
- 125.73MB
yolov7-tiny的c# 调用,vs2022使用opencvsharp推理
2022-07-10c# 调用yolov7-tiny,使用openchsharp加载.weights 和.cfg文件,进行推理。i5 10400 的 total时间 在25ms左右。
- 12.7MB
这是一个用C#写的MES系统 ,用到了supersocket通信框架,以及WPF技术.zip
2024-03-14毕设&课设&项目&实训- 【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
- 37.24MB
OpenCvSharp4.1官方例程
2019-08-08C#下用的OpenCV版本,对应opencv4.1版本,这是官方例程
- 7.45MB
CSkin WinForm 登录界面美化设计Demo
2022-04-21利用Cskin组件来美化Winform的登录界面,让Winform的登录界面不再单调
- 1.16MB
DevExpress22.X完美Patch资源
2023-04-13参考笔者文章“使用DevExpress22.X(Patch)控件库在VisualStudio2022使用C#进行Winform、WPF应用的开发,看这一篇就够了!”,手把手一键完成部署,链接:https://blog.csdn.net/qq_23958061/article/details/130129612 ———————————————————————————————————— 鉴于csdn版权原因,不能上传DevExpress22.2的离线安装包,可从其官网进行下载;若需此版本,参见文章中的阿里云盘链接。
- 164.21MB
OpenCvSharp摄像头的设备列表读取和视频打开
2022-12-21项目实现了基于OpenCvSharp和其它组件实现了摄像头或相机的读取,并在列表中显示出来并可以截图保存,还可以在画面中心绘制十字准星、ROI区域,还可对画面进行左右和上下的翻转,并且十字准星、ROI区域、左右翻转和上下翻转等功能支持关闭保存功能,便于下次调用。
- 18.31MB
c#图解教程第5版pdf
2023-11-25c#图解教程第5版pdf
- 110.23MB
源代码-C#与halcon通用开发框架.zip
2021-09-19在淘宝上买的一个价值200元的,C#开发的halcon通用开发框架,模仿visionpro 封装工具与流程图运行的模式,源码中模认是halcon 12.0 如果你是更高版本请在代码中把相应的halcon引用文件换成你的halcon版本