文章目录

  • 一、迭代器模式
  • 二、状态模式
  • 三、命令模式
  • 四、桥接模式
  • 五、观察者模式
  • 六、抽象工厂模式
  • 七、访问者模式
  • 八、建造者模式
  • 参考资料:

一、迭代器模式


迭代器模式包括:
Iterator 抽象迭代器
ConcreteIterator 具体迭代器
Aggregate 抽象集合
ConcreteAggregate 具体集合

迭代器模式是通过向用户提供一种迭代器顺序访问集合,而不需要知道集合内部的结构。
例如有三个人同时对一个系统进行开发,A使用List存储、遍历数据集合,B使用Set,C使用数组,这是会有他们要使用其他人的数据集合时,有三种方案:
1、使用他人的数据类型,但是对每一种数据类型都要对自己的代码进行修改
2、约定好同一种数据类型
3、使用迭代器,这样就不必知道数据类型,便可以访问数据集合

二、状态模式


状态模式 包括:
Context 环境上下文类
State 抽象状态类
ConcreteState 具体状态类

在状态模式,通过内部状态发生改变时,我们可以减少大块的if…else语句。只需要改变对象状态即可改变对象的行为。
经典案例:
1.状态模式应用于订单发货状态:
【状态设计模式】使用场景

软考软件设计师下午题目java设计模式(自用)相关推荐

  1. 软考软件设计师下午真题-面向对象的程序设计与实现-状态设计模式(2011年下半年试题六))Java代码讲解

    软考软件设计师下午真题-面向对象的程序设计与实现-状态设计模式(2011年下半年试题六))代码讲解 说明 Java代码 注释 说明 某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且 ...

  2. 软考软件设计师下午真题-面向对象的程序设计与实现-生成器设计模式(2018年上半年试题六))Java代码讲解

    软考软件设计师下午真题-面向对象的程序设计与实现-生成器设计模式(2018年上半年试题六))代码讲解 说明 Java代码 注释 说明 生成器(Builder)模式的意图是将一个复杂对象的构建与它的表示 ...

  3. java写exe程序实例_2012软考软件设计师辅导:利用JAVA执行本地EXE文件

    曾经为了这样一个需求找了很多资料,今天终于学习到了!如何利用java执行exe文件?使用java类Runtime,每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接. ...

  4. 视频教程-2020软考软件设计师下午案例分析视频培训课程-软考

    2020软考软件设计师下午案例分析视频培训课程 河北师范大学软件学院优秀讲师,项目经理资质,担任操作系统原理.软件工程.项目管理等课程教学工作.参与十个以上百万级软件项目管理及系统设计工作.在< ...

  5. 软考软件设计师---面向对象技术(设计模式--创建型--工厂、生成器、原型、单例)

    转载于自己博客文章: 软考软件设计师---面向对象技术(设计模式--创建型--工厂.生成器.原型.单例) - 松下之约一.创建型设计模式关注对象的创建,让一个类得到实例化过程由另一类的对象完成.分类: ...

  6. 软考 - 软件设计师 - 下午-案例分析 做题技巧与考点整理

    说明: 整个试卷总分75分,共有5个大题,每个题15分.说难也不难,也还是有一些答题的技巧和模板的,除去一些基础的技巧,比如E-R如何找出实体和存储名,这篇文章主要记录一些答题的信息和知识点. 第一题 ...

  7. (软考-软件设计师.下午)动态规划算法、回溯算法、贪心算法、分治算法的应用

    分治 关键字:[递归技术][二分查找] 分治法的设计思路: 将一个难以直接解决的大问题分解成一些规模较小的相同问题以便于逐个击破,分而治之. 分治法-递归技术 int F(int n) { if(n ...

  8. 软考 软件设计师 下午题-试题三 历年真题

    依赖是虚线,关联是实线 21年下半年真题 补充用例图,他就是参与者与用例之间的关系,比如用户执行某些事情 一个句号一个功能 建立迷宫是一般的用例,便血迷宫文件和导入*迷宫文件是特殊的用例 记住一句话 ...

  9. 【软考-软件设计师】(下午题).

    [软考-软件设计师](下午题). 一,数据流图 二,数据库 三,UNL 四,算法题 ,c语言 五,c++ / java ,程序填空 数据流图 数据流图基本概念 数据流图:没有联系() 数据字典 数据流 ...

  10. 【软考-软件设计师】目录

    [软考-软件设计师] 软考中级-软件设计师 废话中 好像又到了软考季节,在此分享下我当时的笔记.... 当时本来是没想要考这个证的,但是看到周围同学好多去报名,所以... 我们的做法基本都是: 视频 ...

最新文章

  1. window服务器cpu过高的排查_高频面试题:Java程序占用 CPU 过高怎么排查
  2. KPCR:CPU控制区(Processor Control Region)
  3. Leet Code OJ 58. Length of Last Word [Difficulty: Easy]
  4. 惠普台式计算机系统系统修复,惠普电脑系统如何恢复【方法步骤】
  5. 误码率越高越好还是越低越好_ISO永远都是越低越好?不一定!这些情况下要用高 ISO!...
  6. 开发sharepoint工作流过程中的Ptifall(容易犯的错误)
  7. vue 头部组件监控页面来源
  8. 关于redis,学会这8点就够了
  9. soupui :java.lang.reflect.InvocationTargetException
  10. 网管该如何选择上网行为管理软件
  11. PMP试题 | 每日一练,快速提分 7.5
  12. linux驱动数码管-基于74HC164D
  13. 从深圳地铁看-------以损害乘客利益为目标的营运方式
  14. 转:著名的100个管理定律点评8 - 竞争决胜的智慧与策略
  15. 带参宏定义和带参函数的区别
  16. 动作捕捉系统用于苹果采摘机器人
  17. java文件断点续传下载或视频播放
  18. android多语言插件,Android 7.0多语言适配,填坑日记(附多语言插件)
  19. 牛年到! “犀牛书”最新版还远嘛?
  20. cocos creator JS 实现微信小游戏体力倒计时恢复的代码

热门文章

  1. 自学程序员和科班程序员差别到底在哪里?
  2. 第二届广东省大学生网络攻防大赛 simple_re
  3. 【分享】班组5S管理实践办法
  4. 矩阵和向量的求导法则
  5. Proteus里设置任意电源值的POWER的实现
  6. 基于AHP(层次分析法)确定权值的模糊综合评价
  7. 一篇文章教会你使用word域代码(seq field code )
  8. python 绘图英文字体_Python3实现英文字母转换哥特式字体实例代码
  9. STM32驱动SG90舵机
  10. CSS内联样式的使用,实战篇