实战Python设计模式:可复用面向对象软件开发实践 - (EPUB全文下载)
文件大小:0.13 mb。
文件格式:epub 格式。
书籍内容:
实战Python设计模式:可复用面向对象软件开发实践
第1章 示例软件介绍
第2章 创建型模式
第3章 结构型模式
第4章 行为模式
反侵权盗版声明
第1章 示例软件介绍
为了使读者更容易理解将要说明的设计模式,本书将通过一个具体的Python语言开发案例来对其进行讲解。希望这个案例可以帮助读者理解和掌握在实际开发过程中选择和使用设计模式的方法。
我们的目标是用Python语言开发一个功能模块图(Function Block Diagram)编辑和调试软件。利用这款软件,用户可以设计和调试小到建模仿真,大到洗衣机、冰箱控制的运算逻辑。
1.1 准备工作
1.1.1 相关资源下载
本书说明的PyExecutor软件的源代码、各设计模式的示例代码及使用PyExecutor设计的示例逻辑,读者都可以通过前面的二维码下载。结合这些资源学习本书中的内容,读者可以取得事半功倍的效果。
1.1.2 安装开发环境
如果只是执行本书中说明的程序,那么只需要访问Python官网下载最新的安装包并安装即可。
为了更好地理解和调试书中的代码,读者最好安装一个IDE开发环境,作者推荐PyCharm,这个软件可以通过官方网站下载。PyCharm的版本分为专业版和社区版,读者访问PyCharm网站下载社区版即可满足本书需求。
1.2 启动
在使用命令行模式时,进入PyExecuter\PyExecutor目录,并执行代码1-1即可启动PyExecutor。
代码1-1 PyExecutor启动命令
在PyCharm中启动PyExecutor可能需要做一些准备工作,但启动方式还是执行相同的ExecutorMain.py文件。
1.3 功能说明
目前PyExecutor支持两种编程逻辑,因此在启动PyExecutor时将显示如图1-1所示的逻辑类型选择界面,让用户选择想要编辑的逻辑类型。
图1-1 逻辑类型选择界面
如果用户选择“Electric Appliance Control”模式,那么PyExecutor将进入小家电控制逻辑设计状态,这时PyExecutor的界面如图1-2所示。在这个状态下,用户可以使用与小家电控制相关的控制模块来构建自己的控制逻辑。
图1-2 小家电控制逻辑设计界面
如果用户选择“Function Block Diagram”模式,那么PyExecutor将进入通用功能模块逻辑设计状态,这时PyExecutor的界面如图1-3所示。在这个状态下,用户可以使用数据处理逻辑模块来构建自己的运算或仿真逻辑。
图1-3 通用功能模块逻辑设计界面
1.4 功能概要
接下来以功能模块图为例来说明PyExecutor的功能。功能模块图支持的基本功能有三角函数信号发生器、滤波器、数学运算、通信、数字和趋势曲线表示功能。除此之外,PyExecutor还支持通过组合标准功能模块来定制新功能模块。软件的架构已经为功能扩展预留了接口,用户可以很方便地增加其他高级功能,如控制逻辑、AI处理模块等。既可以通过工具栏来选择这些功能模块,也可以通过菜单栏来选择这些功能模块。
1.4.1 编辑
下文将以构建如图1-3所示的运算逻辑为例来说明PyExecutor的基本用法。
选中工具栏中的“Gentor”之后,在画面适当的位置双击就可以添加信号发生器模块。
在信号发生器模块上右击,即可打开如图1-4所示的属性设定界面。在“共通”属性页中将模块名称修改为“Sin1”后,进入“参数”属性页,将“振幅”设定为“3”,“周期”设定为“30”。最后单击“Apply”按钮保存修改的内容。
图1-4 信号发生器模块的属性设定界面
增加另外一个信号发生器Sin2,并将其“振幅”设定为“3”,周期设定为“50”。
以同样的方法添加数学运算模块Math、数值表示模块ValPanel和图形表示模块Graph。其中,数值表示模块ValPanel的表达式按照图1-5中的内容设定。
图1-5 表达式设定界面
添加并设置完功能模块后,我们将得到如图1-6所示的运算逻辑。
图1-6 增加功能模块
接下来使用连接线建立功能模块之间的数据流。为了界面整洁,PyExecutor只支持直角折线。双击Sin1模块的Out端口开始添加连接线,在连线途中单击即可增加一个拐点,最后双击Math模块的In1端口结束连线。这个操作的含义就是Sin1模块的输出数据被传递到Math模块作为In1使用。使用同样的方式在其他模块之间添加连线之后得到如图1-7所示的运算逻辑。
图1-7 建立连接关系
在增加模块和建立模块之间的连接关系的过程中,用户可以使用鼠标调整功能模块和连接线的位置,也可以通过右击启动上下文菜单来设定功能模块的属性或者删除功能模块和连接线,也可以通过复制和粘贴已有的功能模块来提高设计运算逻辑的效率。
对于用户的所有编辑操作,PyExecutor支持不限步数的撤销和重做。这里的操作指的是功能模块的增加、移动和删除,连接线的增加、调整和删除,逻辑要素的属性设定,等等。用户通过单击工具栏上的“Undo”按钮和“Redo”按钮进行撤销和重做操作。
1.4.2 逻辑调试
编辑工作完成后,可以通过PyExecutor的调试功能对逻辑的正确性进行确认。用户可以通过“Debug”菜单中的“Start”菜单项启动逻辑调试。当PyExecutor处于如图1-3所示的调试状态时,用户可以通过数字面板模块和曲线模块来实时呈现运算结果。PyExecutor支持在调试过程中修改功能模块的设定值、连接线,使用者在修改逻辑内容之后可立即看到计算结果。
调试工作结束后,用户可以使用“Debug”菜单中的“Stop”菜单项停止逻辑调试。
1.4.3 文件管理
用户通过文件管理功能可以以JSON形式保存设计完成的逻辑,也可以打开已经保存的逻辑并进行再次编辑。文件打开时系统会根据文件类型自动选择PyExecutor的编辑模式。
1.4.4 代码生成
PyExecutor还支持将完成设计和调试的逻辑生 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 实战Python设计模式:可复用面向对象软件开发实践 - (EPUB全文下载)