随笔分类 -  Design Pattern

摘要:python实现观察者模式 前言 介绍 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。 何时使用:一个对象(目标对象)的状态发生改变,所有的依赖 阅读全文
posted @ 2019-06-03 14:12 -零 阅读(2068) 评论(0) 推荐(0) 编辑
摘要:python实现建造者模式 前言 无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发送机等各种部件。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车,可以通过建造者模式对其进行设计与描述, 阅读全文
posted @ 2019-06-02 23:40 -零 阅读(1918) 评论(2) 推荐(0) 编辑
摘要:python实现策略模式 原文地址 1、策略模式概述 策略模式:定义一系列算法,把它们一一封装起来,并且使它们之间可以相互替换。此模式让算法的变化不会影响到使用算法的客户。 电商领域有个使用“策略”模式的经典案例,即根据客户的属性或订单中的商品计算折扣。 假如一个网店制定了下述折扣规则。 有 100 阅读全文
posted @ 2019-06-02 16:48 -零 阅读(1911) 评论(0) 推荐(0) 编辑
摘要:设计模式总结 设计模式 在某些场景下,针对某类问题的某种通用解决方案 设计模式的六大原则 总原则:开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是: 阅读全文
posted @ 2019-04-15 18:34 -零 阅读(206) 评论(0) 推荐(0) 编辑
摘要:python实现简单工厂模式 模式定义 模式结构 实例 现在有一个工人,他的工作是砍树,工具为花岗岩石斧和铁斧,不同的环境:现代社会与原始社会。 现在我们来解决强耦合的问题。 工人在不同的环境下有不同的需求,以前需要自己根据请求去创造斧头,然后砍树。 现在我们工厂来了,工人只需要告诉工厂(工厂类), 阅读全文
posted @ 2019-02-25 23:51 -零 阅读(969) 评论(0) 推荐(0) 编辑
摘要:Python实现单例模式 单例模式 第一种方法 代码分析 补充classmethod classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。 这里name是否相同? 有一个问题?我们知道 阅读全文
posted @ 2019-02-25 21:14 -零 阅读(664) 评论(0) 推荐(0) 编辑