17天17个Python设计模式
17天17个Python设计模式
喵叔哟
Dedicated to promoting and advancing .NET in China for a lifetime.
展开
-
第六天:结构型模式--修饰器模式
零、修饰器模式当我们相对一个对象添加新功能的时候,无非就是下面这三种方法:直接修改对象所属类使用组合使用继承 这里我们会优先考虑使用直接修改对象类,如果行不通我们会使用组合,最次的情况我们才会使用继承。但是继承会导致代码难以服用,因为继承的关系是静态的,而且应用于整个类以及类的实例。这里我们引入修饰器模式作为第四种方法,修饰器模式优于组合和继承。什么是修饰器模式 是对Pytho...原创 2018-08-14 23:04:43 · 990 阅读 · 0 评论 -
17天17个Python设计模式--目录
一、创建型模型工厂方法模式抽象模式建造者模式原型模式二、结构型模式适配器模式修饰器模式外观模式享元模式模型-视图-控制器模式代理模式三、行为型模式责任链模式命令模式解释器模式观察者模式状态模式策略模式模板模式...原创 2018-05-20 17:01:49 · 1036 阅读 · 0 评论 -
第一天:创建型模式--工厂方法模式
零、创建型模式开篇先简单说一下创建型模式,它关注对象的创建过程,将类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。使得相同的创建过程可以多次复用,且修改二者中的任一个对另一个几乎不造成任何影响。 创建型模式有五种:简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式。这里面我们只讲常用的工厂方法模式、抽象工厂模式和原型模式。一、工厂方法什么...原创 2018-05-21 23:02:04 · 959 阅读 · 0 评论 -
第二天:创建型模式--抽象工厂模式
零、抽象工厂什么是抽象工厂 抽象工厂设计模式是抽象方法的一种泛化,一个抽象工厂是一组工厂方法,每个工厂方法负责产生不同种类的对象。一、身边的例子生产汽车部件 冲压不同的部件用的机器是相同的。机器装配的模型是可配的,随时改变。django_factory 程序包 django_factory是一个用于在测试中创建Django模型的抽象工厂实现,可用来为支持测试专有属性的模型...原创 2018-05-24 00:14:59 · 919 阅读 · 0 评论 -
第三天:创建型模式--建造者模式
零、建造者模式什么是建造者模式 使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于建造者模式,它提供了一种创建对象的最佳方式,将一个复杂对象的构造过程与其表象分离,同一个构造过程可用于创建多个不同的表现。一、身边的例子麦当劳 麦当劳的汉堡套餐种类有很多(如:汉堡+可乐、汉堡+薯条、汉堡+可乐+薯条),顾客在购买的时候关注的是套餐的种类(表现),而不关注套餐...原创 2018-06-11 23:49:13 · 934 阅读 · 0 评论 -
第四天:创建型模式--原型模式
零、原型模式什么是原型模式: 原型模式无非就是克隆一个对象,其最简单的形式就是一个 clone() 函数,接受一个对象作为输入参数,返回输入对象的一个副本。在 Python 中可以使用 copy.deepcopy() 函数来完成。什么是副本: 一个对象在 某一时间点 的 完全 复制,时间是一个重要元素,因为它会影响克隆所包含的内容。引用和副本间的区别: 如果A和B都持有同一个对象的...原创 2018-06-26 22:27:55 · 874 阅读 · 0 评论 -
第五天:结构型模式--适配器模式
零、结构型模式从现在开始就进入到了第二个模式大类结构型模式。所谓结构型模式就是处理一个系统中不同实体(例如类和对象)之间的关系,关注的是通过一种简单的对象组合方式来创造新的功能。 常见的结构型模式有:适配器模式、修饰器模式、外观模式、享元模式、模型-视图-控制器模式和代理模式一、适配器模式什么是适配器模式 帮助我们实现两个不兼容的接口之间的兼容二、身边的例子Iphon...原创 2018-08-12 18:14:34 · 939 阅读 · 0 评论