码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【图解设计模式】原型模式


    【原型(Prototype)模式】

    根据实例原型、实例模型来生成新的实例。

    在java中,可以使用clone创建出实例的副本。在本章中,将学习clone方法与Cloneable接口的使用方法。

    在java中,可以使用new关键字指定类名来生成类的实例。

    像这样使用new来生成实例时,是必须指定类名的。

    但是在开放过程中,有时候也会有“在不指定类名的前提下生成实例”的需求。

    在以下情况下,不能根据类来生成实例,而是要根据现有的实例来生成新的实例。

    (1)对象种类繁多,无法将它们整合到一个类中

    (2)难以根据类生成实例时

    (3)想解耦框架与生成的实例时

    需要注册一个原型实例,然后通过复制该实例来生成新的实例。

    根据实例生成实例与使用复印机复印文件相类似。即使不知道原来文档中的内容,也可以使用复印机复制出完全相同的文档。

     【角色】

    Prototype(原型):负责定义用于复制现有实例来生成新实例的方法。

    ConcretePrototype(具体的类型):负责实现复制现有实例并生成新实例的方法。

    Client(使用者):负责使用复制实例的方法生成新的实例。

    类名是束缚吗?

    面向对象编程的目标之一:作为组件复用

    一旦在代码中出现使用的类的名字就无法与该类分离开,也就无法实现复用。

    当多个类必须紧密结合时,代码中出现这些类的名字是没有问题的,但是如果那些需要被独立出来作为组件复用的类的名字出现在代码中,就有问题了。

  • 相关阅读:
    数据结构实验之队列(文末附完整代码)
    spring hibernate jpa redis mq等温故知新
    如何用信号量去实现一个限流器?
    Java类和对象(二)
    面向对象——实现类的基本操作
    【Hadoop】Apache Hadoop YARN
    代码随想录算法训练营第29天(贪心)|455.分发饼干、376. 摆动序列、53. 最大子序和
    Python | 今年世界杯哪个队最有可能夺冠?!
    新材料制造业工厂MES系统解决方案
    Java:spi如何理解和实现
  • 原文地址:https://blog.csdn.net/m0_52043808/article/details/126845566
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号