设计模式之设计模式分类

news2024/10/23 11:38:10

java设计模式总体上分为3大类,即:

        1)创建型模式

        2)结构型模式

        3)行为型模式

1、创建型模式

      创建型模式提供创建对象的机制,主要解决对象的创建问题,封装复杂的创建过程,解耦

      对象的创建代码和使用代码,能够提升已有代码的灵活性和复用性。

      创建型模式主要有以下几种:

             1)单例模式

             2)工厂模式(工厂方法模式和抽象工厂模式)

             3)建造者模式

             4)原型模式(不常用)

2、结构型模式

     结构型模式主要总结了一些类和对象组合在一起的经典结构,这些经典结构可以解决对应

     特定场景的问题。

     结构型模式一共包含7中,即:

            1)代理模式

            2)桥接模式

            3)装饰者模式

            4)适配器模式

            5)门面(外观)模式

            6)组合模式

            7)享元模式

3、行为型模式

      行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协

      作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。

      行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者

      采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足

      “合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。

       行为模式一共包括11中,分别是:

               1)观察者模式

               2)模板方法模式

               3)策略模式

               4)责任链模式

               5)状态模式

               6)命令行模式

               7)中介者模式

               8)迭代器模式

               9)访问者模式

             10)备忘录模式

             11)解释器模式

      上面 11 种行为型模式,除了模板方法模式和解释器模式是类行为型模式,其他的全部属

      于对象行为型模式。

      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2221547.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java设计模式梳理:行为型模式(策略,观察者等)

行为型模式 行为型模式关注的是各个类之间的相互作用,将职责划分清楚,使得我们的代码更加地清晰。 策略模式 策略模式太常用了,所以把它放到最前面进行介绍。它比较简单,我就不废话,直接用代码说事吧。 下面设计的…

某ai gpt的bug

某ai gpt的bug 背景 遇到了一个奇怪的现象: 输入内容 2024-10-21 10:09:31,052 ERROR o.a.j.t.JMeterThread: Test failed! java.lang.IllegalArgumentException:输出结果

Android开发教程二维码扫描功能

Android开发教程二维码扫描功能 二维码扫描大一点的app都有的功能,因为扫一下真的很方便 一、思路: 用zxing库 二、效果图: 看视频更加直观点: Android开发教程实战案例源码分享-二维码扫描功能 三、关键代码: c…

音频声音怎么调大?将音频声音调大的几个简单方法

音频声音怎么调大?在现代生活中,音频内容无处不在,从在线课程和播客到音乐和电影,音频已经成为我们获取信息和娱乐的重要方式。然而,许多人在使用音频时可能会遇到一个常见问题:音频声音太小,无…

手机投屏到电脑上的scrcpy软件 scrcpy v2.4

下载:https://drive.uc.cn/s/b1285b1fb9f94?public1 最近的工作需要用到用手机演示一些操作,但是手机屏幕比较小,我就想把手机投到我的电脑上,然后电脑连接投影仪就行了。 scrcpy是一款开源的软件,在githus上可以下…

少儿编程学习,如何走,之点评一二

前言: 不少孩子在少儿机构学习编程的家长跟我反馈,机构学习孩子学了记不住,有些家孩子索性就不去,不愿意再谈编程学习之事。 从一位专业信息学教师出身的老师,稍作点评一二: 【同时也引用了一些主流媒体的…

力扣OJ算法题:合并两个有序链表

—————————————————————————————————————————— 正文开始 OJ算法题:合并两个有序链表 思路 创建一个新的空链表(可以用malloc优化)和两个指针L1、L2分别指向两个链表,遍历两个链表&am…

python poetry包管理的安装和使用

目录 设置国内(清华)镜像源和升级pip 安装poetry pycharm中使用 常用的poetry命令 本文背景为已经安装好python 设置国内(清华)镜像源和升级pip pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple python -m pip install --upgrade pip 安装po…

【峟思仪器】高边坡安全监测起到哪些作用

高边坡安全监测起到哪些作用?在当今的工程建设领域,高边坡监测犹如一道坚实的安全防线,其重要性不容小觑。无论是大型水利工程,还是交通基础设施建设,高边坡的稳定性都直接关系到工程的安全和周边环境的安危。高边坡监测在工程建…

在Debian上安装向日葵

说明: 因为之前服务器上安装了 PVE (Proxmox VE),之前是用 Proxmox VE 进行服务器资源管理的。出于某些原因,现在不再通过 PVE构建的虚拟机来使用计算资源,而是通过 PVE 自带的 Debian 系统直接使用虚拟机资源(因为积…

使用Python抓取房源信息

1. 引言 在当今大数据时代,网络爬虫成为获取信息的重要手段之一。本文将以某家二手房为例,演示如何使用Python爬虫抓取房源信息,并将这些信息保存到Excel文件中。 目标网站 2. 准备工作 2.1 安装必要的库 在开始之前,请确保你…

银行客户贷款行为数据挖掘与分析

#1024程序员节 | 征文# 在新时代下,消费者的需求结构、内容与方式发生巨大改变,企业要想获取更多竞争优势,需要借助大数据技术持续创新。本文分析了传统商业银行面临的挑战,并基于knn、逻辑回归、人工神经网络三种算法&#xff0…

【在Linux世界中追寻伟大的One Piece】Socket编程UDP

目录 1 -> UDP网络编程 1.1 -> V1版本 -echo server 1.2 -> V2版本 -DictServer 1.3 -> V2版本 -DictServer(封装版) 1 -> UDP网络编程 1.1 -> V1版本 -echo server 简单的回显服务器和客户端代码。 备注:代码中会用到地址转换函数。 noc…

Java面试题库——多线程

1.并行和并发有什么区别? 并行:是指两个或多个事件在同一时刻发生,是在不同实体上的多个事件; 并发:是指两个或多个事件在同一时间间隔发生,是同一实体上的多个事件。2.线程和进程的区别? 根本…

数据结构修炼——常见的排序算法:插入/希尔/选择/堆排/冒泡/快排/归并/计数

目录 一、常见的排序算法二、常见排序算法的实现2.1 排序算法回顾2.1.1 冒泡排序2.1.2 堆排序 2.2 直接插入排序2.3 希尔排序2.4 选择排序2.5 快速排序2.5.1 快速排序(霍尔法)2.5.2 快速排序(挖坑法)2.5.3 快速排序(前…

极客wordpress模板

这是一个展示WordPress主题的网页设计。页面顶部有一个导航栏,包含多个选项,如“关于我们”、“产品中心”、“案例展示”、“新闻动态”、“联系我们”和“技术支持”。页面中间部分展示了多个产品,每个产品都有一个图片和简短的描述。页面下…

【Linux】冯诺依曼体系结构 OS的概念

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:青果大战linux 总有光环在陨落,总有新星在闪烁 前言废话&#xff1a…

动态链接过程分析

目录 一、前言二、示例程序三、动态库的加载过程1、动态链接器加载动态库2、动态库的加载地址 四、符号重定位1、全局符号表2、全局偏移表 GOT3、liba.so 动态库文件的布局4、liba.so 动态库的虚拟地址5、GOT 表的内部结构6、反汇编 liba.so 代码 五、补充1、延迟绑定 plt 上文…

【ARM】ARM架构参考手册_Part B 内存和系统架构(5)

目录 5.1关于缓存和写缓冲区 5.2 Cache 组织 5.2.1 集联性(Set-associativity) 5.2.2 缓存大小 5.3 缓存类型 5.3.1 统一缓存或分离缓存 5.3.2 写通过(Write-through)或写回(Write-back)缓存 5.3.3…

基于R语言机器学习遥感数据处理与模型空间预测技术及实际项目案例分析

随机森林作为一种集成学习方法,在处理复杂数据分析任务中特别是遥感数据分析中表现出色。通过构建大量的决策树并引入随机性,随机森林在降低模型方差和过拟合风险方面具有显著优势。在训练过程中,使用Bootstrap抽样生成不同的训练集&#xff…