曾经的大四学生实训,培训机构问了一道20分的编程题:字符界面下,模拟浏览器地址栏的前进、后退。
这学期教设计模式,我用java界面,做了一下。其实,这道题如果出现在应聘中,应该先答数据结构的解决思路。
运行效果:
点击后退的效果:
// 答案1:设计模式命令模式
/*
* 命令模式用于项目架构
* 地址栏点击方向键上、下,和点击按钮图片,都可以触发前进、后退
*/
// 答案2:数据结构的两个栈。
/* 每次访问的网址,压入一个访问栈A.
* 当点击后退:从访问栈A,弹出元素,压到“恢复栈B”
* 当点击前进:从恢复栈B,弹出元素,压到“访问栈A”
*/
项目结构:
命令模式的改进和应用源码 截图,代码下载:
链接: https://pan.baidu.com/s/1uwQDfCRaXCxS5ODW0cf8Xw 提取码: sten