• Prototype(原型模式)


    介绍

    在面向对象编程中,对象之间相互交流共同完成工作。但有时候,创建一个重量级对象成本较高(如通过网络,I/O,数据库操作才能完成创建的对象),而你的应用还需要大量的这种对象(它们都包含几乎相似的属性),那么这就隐含着一个性能问题。

    让我们考虑这样一个场景:一个应用需要某些访问控制。不同类型的用户具有不同的权限来使用程序的特性。例如,某些用户可以生成报表,而某些就不行。甚至一些用户可以修改报表,而另一些只能阅读它们。有些用户拥有管理其它用户的权限。

    每个用户都有一个自己的访问控制对象,用于对该应用的访问控制。该访问控制对象比较重量级,创建的成本很高,需要读取本地及网络资源,数据库等。

    我们不能将访问控制对象在用户之间共享,因为在运行时,每个用户的权限可能会更改,而且相同级别的用户可能拥有不同的访问控制权限,用户与访问控制对象之间是一一对应的关系。

    我们可以使用原型模式来解决我们的问题,我们一次性创建好所有级别的访问控制对象,然后每次给用户提供对应的拷贝对象,对象的拷贝毕竟比这些对象的创建要轻量的多,因此,这样可以提高系统的性能,因为资源的读取只有一次。

    什么是原型模式

    原型模式用于特定类型的对象,使用一个原型实例,通过复制这个原型来创建新的对象。

    现有的对象作为原型,通过复制它的状态来创建实例,这样可以节省资源。

  • 相关阅读:
    Windows常用命令
    路由器命令基础使用
    《计算机网络》-CCNA命令大全
    Cisco 2960交换机配置
    vscode使用技巧
    Luogu 3321 [SDOI2015]序列统计
    Luogu 3702 [SDOI2017]序列计数
    CF 990 Educational Codeforces Round 45
    Luogu 4705 玩游戏
    CF 438E The Child and Binary Tree
  • 原文地址:https://www.cnblogs.com/xiaojintao/p/6358561.html
Copyright © 2020-2023  润新知