首页 > 其他分享 >学习高校课程-软件设计模式-迭代者模式和中介者模式

学习高校课程-软件设计模式-迭代者模式和中介者模式

时间:2024-12-23 22:41:19浏览次数:3  
标签:迭代 Mediator 软件设计 元素 模式 may 中介 collection

Iterator: Problem

Collections are one of the most used data types in programming
There should be a way to go through each element of the collection
More traversal algorithms to the collection blurs its primary responsibility
Some algorithms might be tailored for a specific application
The client code may not care about how the elements are stored
集合是编程中最常用的数据类型之一
应该有一种方法来遍历集合中的每个元素
对集合的更多遍历算法模糊了其主要职责
某些算法可能是针对特定应用而定制的
客户端代码可能不关心元素如何存储

Iterator: Solution

Main idea: extract the traversal behavior of a collection into a separate object called an iterator
主要思想:将集合的遍历行为提取到一个单独的对象中,称为迭代器

Mediator: Problem


Elements may interact with each other
Changes to one element may affect others
Elements become harder to reuse
– 元素可能会相互交互 – 对一个元素的更改可能会影响其他元素 – 元素变得更难以重用

Mediator: Solution

Mediator (aka Intermediary or Controller)
中介者(又名中介者或控制者)
– Cease direct communications among components
– Collaborate indirectly by calling a special mediator object
– 停止组件之间的直接通信
– 通过调用特殊的中介对象来间接协作

标签:迭代,Mediator,软件设计,元素,模式,may,中介,collection
From: https://www.cnblogs.com/Mephostopheles/p/18623605

相关文章

  • 梳理你的思路(从OOP到架构设计)_设计模式Observer模式
    目录1、Observer模式2、范例:Android+Observer模式1、Observer模式定义对象间的1:N依赖关系,以便当一个主体对象(如A)的状态发生改变时,所有依赖于它的众多对象(如B,C,D…)都得到通知,然后可向主体对象(A)取得最新状态内容。如果Observer是个纯粹抽象类别(PureA......
  • 梳理你的思路(从OOP到架构设计)_设计模式Composite模式
    Composite模式此模式能建立多层级的包含关系(即多层级Whole-part关系)。在自然界中常见这种关系,例如,树叶是树的一部分,但树叶又是个整体,其内含着叶脉、叶绿素等「部分」对象。从这图形中,可看出这些对象可依其角色而分为两类:Leaf物件:如上图里的「白色」类别之对象,它们不具有W......
  • 【智能设计模式:AI时代的依赖倒转原则探索】
    ......
  • VMware虚拟机桥接模式ping时出现“DUP!“---较全方位解决办法
    虽然此时还有很多期末大作业、课设、报告、复习等着我......但是还是想记录下,因为被这个问题卡了两个小时!!!在搜寻无数网页后,尝试过的方法如下:将Host的“VMwareNetwork Adapter VMnet8”虚拟网卡,先禁用,再启用。禁用RoutingandRemoteAccess服务。清空/etc/udev/rule......
  • 操作003:工作队列模式
    文章目录操作003:工作队列模式一、生产者代码1、封装工具类2、编写代码3、发送消息效果二、消费者代码1、编写代码2、运行效果操作003:工作队列模式一、生产者代码1、封装工具类packagecom.atguigu.rabbitmq.util;importcom.rabbitmq.client.Connection;......
  • 构建 LLM 商业应用:迭代升级与关键要素全解析
    摘要:在当今数字化时代,大语言模型(LLM)正深刻改变着商业格局。从智能客服到精准营销,从内容生成到风险预测,LLM的商业应用潜力巨大。然而,要构建高效、可靠的LLM商业应用并非一蹴而就,需要经历系统的迭代步骤,同时充分认识到精准语料的重要性以及掌握有效的语料加工流程。本文将......
  • 内网离线模式下激活JRebel
    1.在线模式激活jrebel网上教程很多,随便找到一篇:https://blog.csdn.net/senge_com/article/details/136472160ReverseProxy_windows_amd64副本下载地址:https://files.cnblogs.com/files/huanghongbo/ReverseProxy_windows_amd64.zip?t=1734945182&download=true 2.离线模式激......
  • C++STL--迭代器
    本文章粗浅的介绍了什么是迭代器,帮助小伙伴们理解!!!文章目录一、迭代器是什么?二、使用迭代器三、begin和end的运算四、结合解引用和成员访问五、迭代器的运算六、迭代编程思想总结一、迭代器是什么?迭代器(iterator)是一种设计模式,在编程中广泛用于遍历(迭代)集合(......
  • 卷轴模式商城平台系统开发实例之总体概述(第一章)
    卷轴模式系统是一种商业模式软件,他基于会员分销,电商系统,OTC积分交易,激励视频广告任务,分润价值体系,任务包梯度,减产和加速机制构成的一套综合性电商平台。卷轴任务包是指平台会员通过完成任务来获取积分,从而获得更多积分收益的一种模式。新注册用户在平台上会得到一定数量的积......
  • 设计模式-备忘录模式
    背景游戏角色恢复问题:角色有攻击力和防御力,在Boss站前保存攻击力和防御力,大战之后,攻击力和防御力下降,从备忘录恢复到大战前的状态。传统思路:一个游戏对象,对应一个保存状态对象。当对象很多时不利于管理,开销也很大。基本介绍在不破坏封装性的前提下,捕获一个对象的内部状态......