21、设计模式:备忘录与观察者模式解析

设计模式:备忘录与观察者模式解析

1. 实践问题引入

1.1 银行客服沟通机制设计

在一些商业银行,客服代表使用在线聊天应用处理现有和潜在客户的咨询。在高峰时段,每个代表可能需要同时与多个客户合作。可以设计一个中介对象(Mediator),置于不同的用户对象(User)和代表对象(Representative)之间,以实现这种沟通机制。

1.2 其他实践问题

  • 设计并实现一个 Java 小程序,允许用户设计定制婚纱。应显示默认设置的礼服预览,用户能够从一组不同的领口和袖子类型中进行选择,每次选择后预览图像应更新,并且用户能够撤销选择以返回上一个选择,同时预览也相应更新,可应用备忘录模式设计撤销操作。
  • 考虑一个简单的购物车应用程序,即使用户注销后也能记住购物车内容。下次用户登录网站时,购物车应显示之前选择的商品,用户可以在新会话中继续购物,思考如何使用备忘录模式来保存和恢复未完成订单的状态。

2. 备忘录模式(Memento)

2.1 模式描述

对象的状态可以定义为其属性在任何给定时间点的值。备忘录模式用于设计一种机制,以捕获和存储对象的状态,以便在需要时将对象恢复到之前的状态,类似于撤销操作。该模式可以在不暴露对象内部结构的情况下实现这一点。需要捕获状态的对象称为发起者(Originator)。当客户端想要保存发起者的状态时,它向发起者请求当前状态,发起者将恢复其状态所需的所有属性存储在一个单独的对象(称为备忘录,Memento)中,并将其返回给客户端。备忘录对象必须对除发起者之外的所有对象隐藏发起者的变量值,即保护其内部状态不被其他对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值