背景
产品需要在一个界面显示之前弹出两种不同类型的弹框,后期又希望每种弹框显示一定的次数后才不再出现.如先显示1次A弹框,再显示2次B弹框. 第1次进入X界面,出现A弹框; 第2次进入X界面,出现B弹框; 第3次进入X界面,出现B弹框;
分析如果直接在X界面里写这些逻辑,会导致X界面代码复杂化,弹框和X界面耦合严重,需要采用一种设计方式,让代码隔离,并且便于后期扩展,如又增加一种弹框怎么办?
解决方案自定义带计数器队列. 初始化后队列成员: A(1) B(2) 第1次进入X界面,出现A弹框,队列成员变成:B(2); 第2次进入X界面,出现B弹框,队列成员变成:B(1); 第3次进入X界面,出现B弹框,队列清空.
主要代码import java.util.LinkedList
class CountQueue {
private val queue = LinkedList()
fun add(item: T, count: Int) {
if (count > 0) {
queue.add(CountQueueItem(item, count))
}
}
fun next(): T? {
val countQueueItem = queue.peek()
return if (countQueueItem != null) {
if (countQueueItem.count
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?