iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python设计模式创建型原型模式
  • 878
分享到

Python设计模式创建型原型模式

2024-04-02 19:04:59 878人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、原型模式二、应用场景三、代码示例一、原型模式 原型是相对于复制、克隆而言的,但是不同于模板,模板创造出的东西是一模一样,而原型创造出的东西是允许存在差异化和个性化的。 原型模

一、原型模式

原型是相对于复制、克隆而言的,但是不同于模板,模板创造出的东西是一模一样,而原型创造出的东西是允许存在差异化和个性化的。

原型模式的实现思路是:“深拷贝” 和 “属性更新”。定义一个原型,设计一个拷贝接口,不需要频繁实例化类,只需要拷贝。

优点:

  • 减少因为对象实例化而产生的损耗,并实行动态装载。

二、应用场景

三、代码示例

要实现多个人的自我介绍,一般方法是每个人都创建一个对象,但是使用原型模式之后,只需要实例化一个对象(标准人),后面的人都已这个标准人为基础来实现个性化。

import copy


class InfORMation:
    """个人信息"""

    def __init__(self):
        self.name = None
        self.ager = None
        self.height = None

    def run(self):
        """
        自我介绍方法
        :return:
        """
        print("我叫{}: 年龄:{} 身高:{}".format(self.name, self.ager, self.height))


class Prototype:
    def __init__(self, obj):
        self.copy_object = obj()

    def clone(self, **attr):
        obj = copy.deepcopy(self.copy_object)
        obj.__dict__.update(attr)
        return obj


if __name__ == '__main__':
    test = Prototype(Information)
    a = test.clone(name='张山', ager="30", height='170cm')
    a.run()
    b = test.clone(name='李飞', ager="20", height='190cm')
    b.run()

到此这篇关于python设计模式创建型原型模式的文章就介绍到这了,更多相关Python原型模式内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python设计模式创建型原型模式

本文链接: https://www.lsjlt.com/news/139311.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python设计模式创建型原型模式
    目录一、原型模式二、应用场景三、代码示例一、原型模式 原型是相对于复制、克隆而言的,但是不同于模板,模板创造出的东西是一模一样,而原型创造出的东西是允许存在差异化和个性化的。 原型模...
    99+
    2022-11-13
  • .Net创建型设计模式之原型模式(Prototype)
    目录一、动机(Motivation)二、意图(Intent)三、结构(Structure)四、模式的组成五、 原型模式的具体实现六、原型模式的实现要点:1、原型模式的优点:2、原型模...
    99+
    2022-11-13
  • Python 设计模式创建型单例模式
    目录一、单例模式二、应用场景三、编码示例1.单线程中的单例模式方式一、重载类构造器方式二、实现单例装饰器2.多线程中的单例模式方式三、重载具有线程锁的类构造器一、单例模式 单例模式,...
    99+
    2022-11-13
  • Java 深入理解创建型设计模式之原型模式
    1.思考问题 现在有一只羊 tom,姓名为: tom,年龄为:1,颜色为:白色,请编写程序创建和 tom羊属性完全相同的10只羊。 按照传统的思路来,我们可能会按照下面的方式去写。 ...
    99+
    2022-11-13
  • Python 设计模式中的创建型建造者模式
    目录一、建造者模式二、代码示例一、建造者模式 建造者模式,顾名思义类似于建筑工人,他们按照有条理的施工顺序(e.g. 打桩 => 浇筑框架 => 砌墙 => 装修)...
    99+
    2022-11-13
  • Python设计模式中的创建型工厂模式
    目录一、工厂模式(Factory Pattern)二、应用场景三、编码示例1、简单工厂模式2、工厂方法模式3、抽象工厂模式一、工厂模式(Factory Pattern) 工厂模式(F...
    99+
    2022-11-13
  • 一文带你了解Java创建型设计模式之原型模式
    目录原型模式概述优缺点应用场景主要角色原型模式的基本使用创建原型接口创建具体需要克隆对象使用JDK自带原型接口的使用浅克隆与深度克隆浅克隆深度克隆单例的破坏原型模式 概述 原型模式(...
    99+
    2022-11-13
  • Java创建型设计模式之单例模式
    目录介绍优点实现饿汉式懒汉式静态内部类枚举介绍 单例模式是一种创建型设计模式,其主要特点包括: 只有一个实例:单例模式确保系统中只有一个实例对象存在,所有对该对象的访问都是对同一个对...
    99+
    2023-05-18
    Java单例模式 Java创建型设计模式
  • java设计模式:原始模型模式
    目录什么是原始模型模式原始模型模式中的角色抽象原型角色(Prototype)具体原型角色(ConcretePrototype)A...
    99+
    2022-11-12
  • Python设计模式中的创建型工厂模式怎么用
    这篇文章主要介绍Python设计模式中的创建型工厂模式怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、工厂模式(Factory Pattern)工厂模式(Factory Pattern),提供了一种实例化(创...
    99+
    2023-06-29
  • java设计模式--原型模式详解
    目录引例原型模式浅拷贝在原先Sheep类基础上实现Cloneable接口,重写clone方法。客户端调用Sheep类新添的Cow类客户端调用克隆深拷贝1.Cow类也实现Cloneab...
    99+
    2022-11-12
  • Java创建型设计模式之建造者模式详解
    目录前言定义结构实现方法应用场景总结建造者模式是Java中一种创建型设计模式,它的主要目的是将一个复杂对象的构建过程分解为多个简单对象的构建过程,并且使这些构建过程按照一定的顺序进行...
    99+
    2023-05-19
    Java建造者模式 Java建造者模式实践 Java创建型设计模式
  • JDK 源码 阅读 - 2 - 设计模式 - 创建型模式
    A.创建型模式抽象工厂(Abstract Factory)javax.xml.parsers.DocumentBuilderFactory  DocumentBuilderFactory...
    99+
    2022-10-18
  • Java设计模式之原型模式详解
    目录一、前言二、优点及适用场景三、原型模式的注意事项四、浅复制和深复制五、浅复制demo演示六、深复制demo演示一、前言 原型模式是一种比较简单的模式,也非常容易理解,实现一个接口...
    99+
    2022-11-12
  • Javascript设计模式之原型模式详细
    目录1、原型模式示例一示例二示例三2、观察者模式1、原型模式 原型模式用于在创建对象时,通过共享某个对象原型的属性和方法,从而达到提高性能、降低内存占用、代码复用的效果。 示例一 ...
    99+
    2022-11-12
  • JavaScript设计模式之原型模式详情
    目录前言案例回顾原型的拓展前言 设计模式呢最多的可能是用到类,我们去通过类来封装一些实用的方法,通过设计模式去实现各个方法之间的解耦等,由于JS中的继承是用原型链继承的,所以原型模式...
    99+
    2022-11-13
  • .Net创建型设计模式之建造者、生成器模式(Builder)
    目录一、动机(Motivation)二、意图(Intent)三、结构(Structure)四、模式的组成五、建筑者模式的具体实现六、建造者模式的实现要点1、建造者模式的优点:2、建造...
    99+
    2022-11-13
  • Java 深入理解创建型设计模式之建造者模式
    1.提出问题 假如说,我们需要建房子:这一过程为打桩、砌墙、封顶。房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的.3)请编写程序,完成需求。 传...
    99+
    2022-11-13
  • JAVA设计模式---原型模式你了解吗
    目录介绍角色Java语言提供的clone()方法代码演示—克隆羊结论深浅拷贝深浅拷贝探讨实现深克隆的方式一 : 手动对引用对象进行克隆实现深克隆的方式二 :序列化原型模式对单例模式的...
    99+
    2022-11-12
  • Java设计模式中的原型模式讲解
    目录介绍原型模式深拷贝与浅拷贝原型模式代码总结介绍 原型模式 在Java中,原型模式是一种创建型设计模式,它允许通过复制一个现有对象来创建一个新对象,而不是通过创建新的对象来初始化一...
    99+
    2023-05-18
    Java 原型设计模式 Java 设计模式 Java 原型模式
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作