软件设计师-重点的创建型设计模式

server/2024/11/9 16:58:27/

一、简单工厂:

  • 简单工厂模式属于创建型模式,但不属于23种设计模式之一。

软考中图

二、工厂方法:

意图:

定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。

结构:

适用性:

  • 当个类不知道它所必须创建的对象的类的时候。
  • 当一个类希望由它的子类来指定它所创建的对象的时候。
  • 当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。

三、生成器模式(Builder):

意图:

  • 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

适用性:

  • 当创建复杂对象的算法,应该独立于该对象的组成部分以及它们的装配方式时。
  • 当构造过程必须允许被构造的对象有不同的表示时。

四、原型模式(Prototype):

意图:

  • 用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。

结构:(下午题)

适用性:

  • 当一个系统应该独立于它的产品创建、构成和表示时。
  • 当要实例化的类是在运行时刻指定时,例如,通过动态装载。
  • 为了避免创建一个与产品类层次平行的工厂类层次时。
  • 当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克降它们,可能比每次用合适的状态手工实例化该类更方便一些。

http://www.ppmy.cn/server/25601.html

相关文章

网络安全行业副业大揭秘

在网络安全领域,除了全职工作外,许多XD还通过副业来增加收入、拓展视野和锻炼技能。下面,我们就来探讨一下网络安全领域中那些充满挑战与机遇的副业。 1. 自媒体与内容创作 网络安全领域的自媒体内容创作是一个很好的副业选择。你可以通过撰…

sym和syms--Matlab学习

一、sym sym是 MATLAB 中的一个函数,用于创建符号对象。 符号对象允许你在 MATLAB 中进行符号计算和代数运算,而不仅仅是数值计算。使用符号对象,你可以表示符号表达式,求解方程,进行符号积分等。 例如,你…

深度学习基础之《TensorFlow框架(14)—TFRecords》

一、什么是TFRecords文件 1、TFRecords其实是一种二进制文件,虽然它不如其他格式好理解,但是它能更好的利用内存,更方便复制和移动,并且不需要单独的标签文件 2、使用步骤 (1)获取数据 (2&…

Amazon云计算AWS之[5]关系数据库服务RDS

文章目录 RDS的基本原理主从备份和下读写分离 RDS的使用 RDS的基本原理 Amazon RDS(Amazon Relational Database Service) 将MySQL数据库移植到集群中,在一定的范围内解决了关系数据库的可扩展性问题。 MySQL集群方式采用Share-Nothing架构。每台数据库服务器都是…

RabbitMQ是如何保证消息不被重复消费,或者说是如何保证消息消费时的幂等性的

目录 面试官:RabbitMQ是如何保证消息不被重复消费?或者说是如何保证消息消费时的幂等性的1. 使用唯一业务标识2. 使用RabbitMQ的消息去重插件3. 使用业务逻辑实现幂等性4. 使用消息属性和死信队列5. 使用Spring Boot的重试机制该文章专注于面试,面试只要回答关键点即可,不需…

【Websokect】服务器https协议下ws连接失败问题及解决办法

在服务器使用HTTPS协议下连接WebSocket时,通常会出现一些常见的问题导致连接失败。以下是一些可能的原因和解决办法: SSL证书配置问题: 确保您的服务器上已正确配置SSL证书,并且证书有效。如果证书配置不正确或者过期,…

数据结构——树和二叉树的基本概念

数据结构——树和二叉树的基本概念 什么是树二叉树的概念二叉树和树的区别 满二叉树和完全二叉树满二叉树完全二叉树 二叉树的性质 我们今天接着来学习树这部分的内容: 什么是树 在计算机科学中,树(Tree)是一种非线性数据结构&a…

深入Spring Boot配置机制:如何高效管理应用配置

一、属性的优先级和配置文件的位置 在Spring Boot应用中,我们可以在多个地方定义配置属性,并且Spring Boot提供了一套优先级排序,来决定同一属性多处定义时的覆盖关系。理解这个机制对于配置管理至关重要。 1. 配置文件查找的顺序 Spring …