Python设计模式(第2版)

Python设计模式(第2版) PDF 高清版

  • 大小:21.9 MB
  • 类型:Python
  • 格式:PDF
  • 出版:人民邮电出版社
  • 作者:吉里德尔
  • 更新:2023-01-17 21:11:47
vip 立即下载( 21.9 MB )
关注公众号免费下载
版权投诉 / 资源反馈(本资源由用户 苍含双 投稿)

给网友朋友们带来一篇Python相关的资料,由人民邮电出版社出版,作者是吉里德尔,介绍了关于Python、设计模式方面,格式为PDF,资源大小21.9 MB,目前在Python类资源综合评分为:7.9分。

Python资源推荐

书籍介绍

非常薄的一本书。发现市面上好的Python教材一个巴掌都能数过来。 因为现在工作上没有用Python,自学准备转一个方向,所以看起来进度缓慢。这本书虽然薄,还是内容还算可以。优惠的时候还是值得购入的。

本书很薄,适用于软件架构师及热衷于软件设计的还剩应用开发人员,对于具有初级python编程技能,便喜欢使用python3.5的工程师来说,阅读本书将更加轻松

最近几个月一直在用Python做项目,学学设计模式还是不错的

编辑推荐

随着人们对优化软件架构和设计的关注度的不断提高,软件架构师也愈发认识到在架构和设计层面,对象创建、代码结构和对象之间的交互优化的重要性。因为这样不仅能够降低软件的维护成本,而且还能确保代码的可重用性,提高代码适应变化的能力。在上一版成功的基础上,本书的第2版将利用Python 3.5来帮助读者实现现实世界的各种场景。
本书首先从Python的角度对各种设计模式进行了介绍。然后,逐步带领读者深入学习单例模式、工厂模式和门面模式。之后,还介绍了如何使用代理模式来控制对象访问。此外,本书还讲解了观察者模式、命令模式和复合模式。通过阅读本书,读者能够进一步提高其在软件架构、设计和开发方面的专业技能。
本书的目标读者
本书适用于软件架构师以及热衷于软件设计的Python应用开发人员。对于具有初级Python编程技能并且喜欢使用Python 3.5的工程师来说,阅读本书将更加轻松。

通过阅读本书,你将能够:
提高自己的技能,创建更好的软件架构;
掌握应对常见设计问题的实用性解决方案;
探索构成软件设计基础的各种设计原则,如松散耦合、好莱坞原则和开放/封闭原则等;
深入理解面向对象编程的概念,并掌握它们在软件开发中的应用方式;
加深对创建型设计模式以及各种对象创建方法的理解,从而有助于解决软件开发过程中的相关问题;
应用结构型设计模式,并掌握对象和类之间的交互方式,从而协助构建大型的应用程序;
利用命令模式和观察者模式深入考察对象之间的交互;
利用Python设计模式提高效率,同时提升编程技能。

作者简介

Chetan Giridhar是一位技术领导者、开源爱好者和Python开发人员。他曾在LinuxForYou和Agile Record等杂志上发表多篇技术和开发实践方面的文章,并在Python Papers杂志上发表过技术论文。他曾在PyCon India、Asia-Pacifc和New ZealandPyCon等会议上发表演讲,并热衷于实时通信、分布式系统和云应用等领域。Chetan已经是Packt出版社的技术评审,并为 IPython Visualizations和Core Python等图书撰稿。

内容简介

设计模式是构建大型软件系统zui强大的方法之一,优化软件架构和设计已经逐渐成为软件开发和维护过程中的一个重要课题。
本书通过11章内容,全面揭示有关设计模式的内容,并结合Python语言进行示例化的解析。全书囊括单例设计模式、工厂模式、门面模式、代理模式、观察者模式、命令模式、模板方法模式、复合模式、状态设计模式以及反模式等多种设计模式。
本书适合那些关注软件设计原则,并想将you秀的设计模式应用到Python编程当中的读者阅读,也适合普通的软件工程师、架构师参考。

内容节选

单例模式

单例模式(singleton pattern)是最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同事确保只有单个对象被创建、这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单例模式就是一个类只能创建一个实例化对象!

注意:

  • 单例类只能有一个实例
  • 单例类必须自己创建自己的唯一实例
  • 单例类必须给所有其他对象提供这一实例
class Foo:
    instance = None
 
    def __init__(self, name):
        self.name = name
 
    @classmethod
    def get_instance(cls):
        if cls.instance:
            return cls.instance
        else:
            obj = cls("aaa")
            cls.instance = obj
            return obj
 
obj1 = Foo.get_instance()
print(obj1)
 
obj2 = Foo.get_instance()
print(obj2)
 
# 输出
<__main__.Foo object at 0x1007f9550>
<__main__.Foo object at 0x1007f9550>

目录

  • 第1章 设计模式简介 1
  • 1.1 理解面向对象编程 1
  • 1.1.1 对象 2
  • 1.1.2 类 2
  • 1.1.3 方法 2
  • 1.2 面向对象编程的主要概念 3
  • 1.2.1 封装 3
  • 1.2.2 多态 3
  • 1.2.3 继承 4
  • 1.2.4 抽象 4
  • 1.2.5 组合 5
  • 1.3 面向对象的设计原则 5
  • 1.3.1 开放/封闭原则 6
  • 1.3.2 控制反转原则 6
  • 1.3.3 接口隔离原则 6
  • 1.3.4 单一职责原则 7
  • 1.3.5 替换原则 7
  • 1.4 设计模式的概念 7
  • 1.4.1 设计模式的优点 8
  • 1.4.2 设计模式的分类 9
  • 1.4.3 上下文—设计模式的适用性 9
  • 1.5 动态语言的设计模式 9
  • 1.6 模式的分类 10
  • 1.6.1 创建型模式 10
  • 1.6.2 结构型模式 10
  • 1.6.3 行为型模式 11
  • 1.7 小结 11
  • 第2章 单例设计模式 12
  • 2.1 理解单例设计模式 12
  • 2.2 单例模式中的懒汉式实例化 14
  • 2.3 模块级别的单例模式 15
  • 2.4 Monostate单例模式 15
  • 2.5 单例和元类 16
  • 2.6 单例模式Ⅰ 18
  • 2.7 单例模式Ⅱ 20
  • 2.8 单例模式的缺点 21
  • 2.9 小结 22
  • 第3章 工厂模式:建立创建对象的工厂 23
  • 3.1 了解工厂模式 23
  • 3.2 简单工厂模式 24
  • 3.3 工厂方法模式 26
  • 3.3.1 实现工厂方法 27
  • 3.3.2 工厂方法模式的优点 29
  • 3.4 抽象工厂模式 30
  • 3.5 工厂方法与抽象工厂方法 33
  • 3.6 小结 34
  • 第4章 门面模式—与门面相适 35
  • 4.1 理解结构型设计模式 35
  • 4.2 理解门面设计模式 36
  • 4.3 UML类图 37
  • 4.3.1 门面 37
  • 4.3.2 系统 38
  • 4.3.3 客户端 38
  • 4.4 在现实世界中实现门面模式 38
  • 4.5 最少知识原则 42
  • 4.6 常见问答 42
  • 4.7 小结 43
  • 第5章 代理模式—控制对象的访问 44
  • 5.1 理解代理设计模式 44
  • 5.2 代理模式的UML类图 46
  • 5.3 了解不同类型的代理 47
  • 5.3.1 虚拟代理 48
  • 5.3.2 远程代理 48
  • 5.3.3 保护代理 48
  • 5.3.4 智能代理 48
  • 5.4 现实世界中的代理模式 49
  • 5.5 代理模式的优点 52
  • 5.6 门面模式和代理模式之间的比较 52
  • 5.7 常见问答 53
  • 5.8 小结 53
  • 第6章 观察者模式—了解对象的情况 54
  • 6.1 行为型模式简介 54
  • 6.2 理解观察者设计模式 55
  • 6.3 现实世界中的观察者模式 58
  • 6.4 观察者模式的通知方式 62
  • 6.4.1 拉模型 62
  • 6.4.2 推模型 62
  • 6.5 松耦合与观察者模式 62
  • 6.6 观察者模式:优点和缺点 63
  • 6.7 常见问答 64
  • 6.8 小结 64
  • 第7章 命令模式—封装调用 65
  • 7.1 命令设计模式简介 65
  • 7.2 了解命令设计模式 66
  • 7.3 实现现实世界中命令模式 69
  • 7.4 命令模式的优缺点 73
  • 7.5 常见问答 74
  • 7.6 小结 74
  • 第8章 模板方法模式—封装算法 75
  • 8.1 定义模板方法模式 75
  • 8.1.1 了解模板方法设计模式 77
  • 8.1.2 模板方法模式的UML类图 79
  • 8.2 现实世界中的模板方法模式 81
  • 8.3 模板方法模式—钩子 84
  • 8.4 好莱坞原则与模板方法 85
  • 8.5 模板方法模式的优点和缺点 85
  • 8.6 常见问答 86
  • 8.7 小结 86
  • 第9章 模型—视图—控制器—复合模式 87
  • 9.1 复合模式简介 87
  • 9.2 模型—视图—控制器模式 88
  • 9.2.1 模型—了解应用程序的情况 90
  • 9.2.2 视图—外观 90
  • 9.2.3 控制器—胶水 90
  • 9.3 MVC设计模式的UML类图 92
  • 9.4 现实世界中的MVC模式 94
  • 9.4.1 模块 94
  • 9.4.2 MVC模式的优点 101
  • 9.5 常见问答 101
  • 9.6 小结 102
  • 第10章 状态设计模式 103
  • 10.1 定义状态设计模式 103
  • 10.1.1 理解状态设计模式 104
  • 10.1.2 通过UML图理解状态设计模式 105
  • 10.2 状态设计模式的简单示例 106
  • 10.3 状态模式的优缺点 110
  • 10.4 小结 111
  • 第11章 反模式 112
  • 11.1 反模式简介 112
  • 11.2 软件开发反模式 113
  • 11.2.1 意大利面条式代码 114
  • 11.2.2 金锤 114
  • 11.2.3 熔岩流 115
  • 11.2.4 复制粘贴或剪切粘贴式编程 115
  • 11.3 软件架构反模式 116
  • 11.3.1 重新发明轮子 116
  • 11.3.2 供应商套牢 117
  • 11.3.3 委员会设计 117
  • 11.4 小结 118

以上就是本次关于书籍资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。

Python相关资源

  • 精通Python设计模式

    精通Python设计模式

    内容简介 本书分三部分、共16章介绍一些常用的设计模式。第一部分介绍处理对象创建的设计模式,包括工厂模式、建造者模式、原型模式;第二部分介绍处理一个系统中不同实体(类、对象等)之间关系的设计模式,包括外观模式、享元模式等;第三部分介绍处理系统实体之间通信的设计模式,包括责任链模式、观察者模式等。 目录 第一部分创建型模式 第1章工厂模式2 1.1工厂方法2 1.1.1现实生活的例子2 1.1.2软件的例子3 1.1.3应用案例3 1.1.4实现4 1.2抽象

    大小:11.8 MBPython设计模式电子书

  • 《Python设计模式(第2版)》配套资源

    《Python设计模式(第2版)》配套资源

    编辑推荐 随着人们对优化软件架构和设计的关注度的不断提高,软件架构师也愈发认识到在架构和设计层面,对象创建、代码结构和对象之间的交互优化的重要性。因为这样不仅能够降低软件的维护成本,而且还能确保代码的可重用性,提高代码适应变化的能力。在上一版成功的基础上,本书的第2版将利用Python 3.5来帮助读者实现现实世界的各种场景。本书首先从Python的角度对各种设计模式进行了介绍。然后,逐步带领读者深入学习单例模式、工厂模式

    大小:128.08 KBPython配套资源

资源下载

Python学习笔记

16小时59分钟前回答

Python PO设计模式的具体使用

无规矩不成方圆。编写代码也是,如果没有大概的框架,管理代码将会是一件很头疼的事。 先看看笔者以前写的python脚本: 如果只有一个用例,这样看着好像挺整洁的。但是当用例越来越多后,如果元素定位发生了改变,那你将要在多个类、多个方法中,去寻找那个元素,然后一个一个修改,这将耗费很多时间。 引入PO设计模式后,管理代码将会很轻松。 什么是PO设计模式?……

1小时47分钟前回答

Python设计模式之模板方法模式实例详解

本文实例讲述了Python设计模式之模板方法模式。分享给大家供大家参考,具体如下: 模板方法模式(Template Method Pattern):定义一个操作中的算法骨架,将一些步骤延迟至子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 下面是一个模板方法模式的一个demo: #!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = 'Andy'"""大话设计模式设计模式——模板方法模……

23小时56分钟前回答

Python设计模式之迭代器模式原理与用法实例分析

本文实例讲述了Python设计模式之迭代器模式原理与用法。分享给大家供大家参考,具体如下: 迭代器模式(Iterator Pattern):提供方法顺序访问一个聚合对象中各元素,而又不暴露该对象的内部表示. 下面是一个迭代器模式的demo: #!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = 'Andy'"""大话设计模式设计模式——迭代器模式迭代器模式(Iterator Pattern):提供方法顺序访问一个聚合对象中各元素,……