随笔分类 -  Python

摘要:from abc import ABCMeta, abstractmethod """ 桥接模式:将抽象与实现解耦,使得他们可以毒力的变化 桥接模式关注的是抽象和实现的分离,使得它们可以独立发展; 桥接模式是结构性模式,侧重于软件结构。而策略模式关注的是对算法、规则的封装, 使得算法可以独立于使用它 阅读全文
posted @ 2020-06-16 23:49 找回失去的自我 阅读(148) 评论(0) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod """ 定义一个操作算法中的框(骨)架,而将算法中用到的某些具体的步骤放在子类中实现,使得子类可以在不改变算法结构的情况下重新定义 该算法的某些特定步骤。这个定义算法骨架的方法就叫模板方法模式,简称模板模式。 应用场景: 阅读全文
posted @ 2020-06-16 00:08 找回失去的自我 阅读(96) 评论(0) 推荐(0)
摘要:一旦Spider的爬取的深度比较深时,数据的提取基本上是贯穿每一层的,为了将数据一层一层传递下去,我们需要将上一层提取的数据传递到下一层,供下一层使用,这时我们就需要使用的scrapy.Request的meta参数,其是一个字典。在传递不变数据时,不需要担心,但是我们传递的是一个Item类型或字典, 阅读全文
posted @ 2020-06-15 23:07 找回失去的自我 阅读(886) 评论(1) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod # 访问模式:封装一些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作 # 三个角色:访问者、数据节点、对象结构 class DataNode(metaclass=ABCMet 阅读全文
posted @ 2020-06-14 23:44 找回失去的自我 阅读(180) 评论(0) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod # 运用共享技术有效地支持大量细粒度对象的复用,类似于对象池模式,不过对象池是为了节省对象不断创建销毁的时间, # 享元模式是为了防止重复创建相似或相同的对象,导致内存泄漏 # 两个主要角色:享元对象、享元工厂 clas 阅读全文
posted @ 2020-06-13 22:40 找回失去的自我 阅读(122) 评论(0) 推荐(0)
摘要:from copy import deepcopy import logging, time # 备忘模式中主要有三个角色:发起人(需要进行备份的对象)、备忘录(备份的状态,即一个备份的文档)、备忘录管理者(备份文档的管理者,由他负责人与发起人的交互) # 应用场景:1、需要保存/恢复对象的状态或数 阅读全文
posted @ 2020-06-12 00:47 找回失去的自我 阅读(187) 评论(0) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod from enum import Enum # 工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式 # 简单工厂模式:定义一个创建对象(实例化对象)的接口,通过参数来决定创建哪个类的实例 # 工厂方法模式:定义一个创建对 阅读全文
posted @ 2020-06-10 22:58 找回失去的自我 阅读(173) 评论(0) 推荐(0)
摘要:""" 中介模式:用一个中介对象来封装一系列的对象的交互,中介者使各对象不需要显示地相互引用,从而使耦合松散,而且可以独立地改变他们之间的交互 比如:房客与房东之间的交互过程是由中介来承担的,房客不需要知道房东是谁,房东也不需要知道房客是谁,有什么问题,直接找找中介就可以了。 中介模式的三个对象:交 阅读全文
posted @ 2020-06-09 22:55 找回失去的自我 阅读(264) 评论(0) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod # 命令模式四个角色:命令、接收者、调度者、用户 # 对命令的发送者和接收者进行解耦,高内聚 # 其中的调度者有点像Scrapy框架中的Scheduler,对请求和响应进行调度 class Command(metacla 阅读全文
posted @ 2020-06-08 23:46 找回失去的自我 阅读(200) 评论(0) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod from operator import itemgetter, attrgetter # 策略模式:三个角色:上下文环境、策略的抽象、具体的策略 # 简而言之:定义一系列算法,将每个算法都封装起来,并且使他们之间可以相 阅读全文
posted @ 2020-06-07 22:49 找回失去的自我 阅读(157) 评论(0) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod import os # 适配模式的三个角色:目标、源对象、适配器 # 适配模式的实现方式:组合、多继承 class Target(metaclass=ABCMeta): """目标类""" @abstractmethod 阅读全文
posted @ 2020-06-06 23:11 找回失去的自我 阅读(185) 评论(0) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod # 产品 # 构建者 # 指挥者 class Toy(metaclass=ABCMeta): """玩具""" def __init__(self, name): self._name = name self.__com 阅读全文
posted @ 2020-06-05 00:08 找回失去的自我 阅读(146) 评论(0) 推荐(0)
摘要:# 外观模式 # 为子系统中的一组接口提供一个一致的界面成为外观模式,外观模式定义了一个高层接口,这个接口使得这一子系统更容易使用 # 如下压缩模块、ORM等 from os import path import logging class ZIPModel: """ZIP模块,负责ZIP文件的压缩 阅读全文
posted @ 2020-06-03 23:59 找回失去的自我 阅读(128) 评论(0) 推荐(0)
摘要:class BaseIterator: """迭代器""" def __init__(self, data): self.__data = data self.toBegin() def toBegin(self): """将指针移至起始位置""" self.__curIdx = -1 def to 阅读全文
posted @ 2020-06-02 23:32 找回失去的自我 阅读(147) 评论(0) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod import logging import time """设计要点:两个核心对象(进行池化的对象、对象池)、三个关键动作对象(借用对象、使用对象、归还对象) 使用注意事项:对已归还的对象的引用,不能在进行任何其他操作, 阅读全文
posted @ 2020-06-02 00:05 找回失去的自我 阅读(194) 评论(0) 推荐(0)
摘要:在开始配置之前,需要将整个项目文件拷贝一份,然后移入你想要的放置的目录中。 一、Django配置 1、settings.py配置 复制全局settings.py配置文件,创建一个副本命名为/pro_settings.py,修改DEBUG为False。 DEBUG = False # 填写你自己的ip 阅读全文
posted @ 2020-06-01 22:46 找回失去的自我 阅读(1684) 评论(0) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod """ 设计要点: 主题(Subject):定义操作、活动、任务的接口类 真实主题(RealSubject):真正完成操作、活动、任务的具体类 代理主题(ProxySubject):代替真实主题完成操作、活动、任务的代理 阅读全文
posted @ 2020-05-31 00:16 找回失去的自我 阅读(119) 评论(0) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod # 状态模式关键在于找到使状态发生改变的某个属性或某个某个属性集,比如水的状态的改变关键在于温度 class Context(metaclass=ABCMeta): """状态类的上下文环境类""" def __init 阅读全文
posted @ 2020-05-30 00:00 找回失去的自我 阅读(71) 评论(0) 推荐(0)
摘要:from abc import ABCMeta, abstractmethod # 职责模式又称为责任链模式 # 譬如在公司中请假,如果是2天以内,部门领导有权力审批,2天到5天,还需分管领导,5天以上,提交行政部门 # 这样每一级可以动态判断自己是否可以审批,如果没有权力,就一级一级往上报 cla 阅读全文
posted @ 2020-05-29 01:08 找回失去的自我 阅读(124) 评论(0) 推荐(0)
摘要:from copy import copy, deepcopy # 理解深浅拷贝 # 浅拷贝:只拷贝引用类型对象的指针,不拷贝引用类型对象指向的值(只拷贝第一层) # 深拷贝:同时拷贝引用类型对象及其指向的值 # 引用类型:Python中表现为:list、dict、、set、类对象 a = [1, 阅读全文
posted @ 2020-05-27 23:13 找回失去的自我 阅读(268) 评论(0) 推荐(0)