设计模式:迭代器模式(学习笔记)

本文探讨了迭代器模式的原理及应用实例,通过解决合并不同菜单管理方式带来的问题,阐述了解耦内部数据结构的方法,使外部类能够透明地访问集合元素,符合单一职责原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

迭代器模式原理

        迭代器例子:

                蛋糕店与餐厅合并,同意管理菜单项目;

                问题:

                        1. 一个餐厅的菜单用ArrayList管理菜单,一个用数组管理。

                        2.获取菜单信息时,两次循环打印,浪费资源。

                        3.如果返回菜单数组/list时(对外暴露内部数据),存在安全性问题。

                        4.合并类必须知道数据结构,扩展性不好,耦合高。

          封装遍历,迭代器接口:

                                          

                                  只需要I调用接口,不需要知道数据结构(实现解耦)。

             迭代器模式:提供一种方法顺序访问一个聚合对象中的各个对象

java内置迭代器:

             集合框架内部已实现迭代器;

             使用迭代器模式,外部数据与内部数据解耦。

                                         

单一责任原则:一个类应该只有一个引起变化的原因

             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值