Command模式
Command模式的3种用法
Active object模式
是对Command的应用
是实现多线程的基础技术
Active Object 并发模式在 Java 中的应用
http://www.ibm.com/developerworks/cn/java/j-lo-activeobject/index.html
模板方法与策略模式
为什么说组合由于继承(或策略模式由于模板方法):策略模式比模板方法多了一个中间层,策略模式完全遵循DIP原则,允许每个具体策略实现供多个不同通用算法操纵,而模板实现依赖了高层模块,部分违反了DIP,使得一个具体的实现只能服务于一个通用算法。
Singleton和monostate
singleton
一个类只有一个实例
一个静态成员
一个私有默认构造函数
monostate
一个类有很多实例,但每个实例状态都一致
所有的成员都是静态的
NULL OBJECT
对有行为的对象适应,对纯POJO无意义
Factory模式
创建具体的稳定类时不需使用该模式,比如String类
在创建高度易变的类时,该模式非常有用
两种形式:
一个类一个make方法
使用参数,实现类根据参数创建对象,在参数错误时,抛出异常
Composite模式
在不改变现有客户类时,使其具有发送多个命令的功能
使一对一的关系支持一对多的关系
Observer模式
两种模型
推模型
拉模型
使用哪种模型取决于被观察对象的复杂性,如果对象比较复杂,使用推,否则使用拉
Abstract Server模式
在客户端和其依赖的对象之间引入接口,接口的名字是从客户的角度起的,接口属于他的客户。
客户和接口之间的逻辑绑定关系要强于接口和他的派生类之间的逻辑绑定关系。
逻辑关系的强度和实体关系的强度是不一致的。
Adapter模式
在不改变客户代码,又需支持新的功能,且新功能不能直接实现客户提供的接口时,引入该模式
Modem的例子
Bridge模式
Bridge模式的作用:分离抽象与实现,使抽象与实现可以独立发展,自由组合,并提高代码复用率,遏制类的爆炸式增长。
见例子:
Bridge模式实例——杯子工厂http://blog.csdn.net/yhmhappy2006/article/details/7230003Visitor模式
Visitor模式是对策略模式的扩展,允许对一个类继承体系中的多个类使用策略。一般来说,如果一个应用程序中存在有需要以多种不同方式进行解析/处理的数据结构,就可以使用Visitor模式。
Acyclic Visitor模式
Visitor模式适合被访问者层次结构稳定的系统
Visitor的一个变体,解除了新增被访问者对象时对visitor继承结构的影响
把visitor接口变成退化的,把visit方法都分解到各个被访问者特定的访问者接口中。
有限状态机的实现方式
嵌套switch/case语句
迁移表
State模式
State模式
每个状态实现类表示相应的状态
状态类的方法表示事件
当事件被触发时,当前状态类修改主体的新状态,并触发主体的相应动作(因此状态类必须持有指向主体类的引用)
源代码即设计文档
设计:
架构设计
模块设计
编码
构建/测试循环
软件设计过程:
架构设计->模块设计->详细设计(编码)->构建/测试循环->设计文档(最终代码)->辅助设计文档(人工根据最终代码总结而成)
见:http://blog.csdn.net/yhmhappy2006/article/details/7234270
分享到:
相关推荐
Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip ...
### FPGA自学笔记——设计与验证公开版 #### 1. FPGA技术背景与发展趋势 随着FPGA技术的不断发展,从最初的简单逻辑粘合逐渐演变为现在的可编程片上系统(SoC),FPGA的应用范围也在不断扩大。例如Altera(现已被...
通过阅读和学习这些JAVA学习笔记,开发者不仅可以掌握JAVA编程的基本技能,还能深入了解其设计理念,从而更好地应对各种实际开发问题。不断更新和完善自己的JAVA知识体系,对于成为一名优秀的JAVA开发者至关重要。
通过阅读《318_DAO设计模式.pdf》这份文档,你可以深入理解DAO模式的原理、实现方式以及在Web开发中的应用。同时,文档可能还会介绍一些相关的工具和技术,如MyBatis的使用、Spring的AOP事务管理等,这些都是DAO模式...
读书笔记:设计模式学习示例《设计模式——可复用面向对象软件的基础》的读书笔记
《FPGA自学笔记——设计与验证jmb》是一本针对初学者精心编写的教程,旨在帮助读者快速掌握FPGA(Field-Programmable Gate Array,现场可编程门阵列)的基础知识并进行实际的设计与验证。小梅哥,这位业界知名人士,...
S7-200 Smart入门笔记1——流水灯 按钮 S7-200 Smart入门笔记1——流水灯 定时器 S7-200 Smart入门笔记2——读时钟 S7-200 Smart入门笔记3——呼吸灯 S7-200 Smart入门笔记4——全局变量和局部变量 S7-200 Smart入门...
通过阅读这些笔记,学习者不仅可以掌握前端开发的基本技能,还能了解到实际开发中可能会遇到的问题和解决策略。 文件列表中的"CSS1"和"CSS2"可能包含了一些CSS的实例或练习,"html"文件夹可能包含了HTML页面示例,...
这篇压缩包文件“上海初三英语阅读精讲笔记1——阅读A篇题型-原创.rar”显然是针对中国上海市初中三年级学生的一份英语学习资料,重点在于提高学生的阅读理解能力。其中包含了一个PDF文档,名为“上海初三英语阅读...
在描述中,“论文笔记模板——自用xmind模板.zip”重复了标题的信息,进一步确认这是一个专为记录和组织论文相关笔记设计的模板,可能包含了特定的结构、主题和样式,适合个人使用。 由于标签为空,我们无法直接...
读书笔记:图解设计模式阅读笔记Go语言版本
读书笔记:PHP设计模式讲解实现《大话设计模式》读书笔记和总结
**思源笔记插件——汇总散落在整个工作空间的任务 Siyuan Note Plugin** 思源笔记(Siyuan Note)是一款开源的个人知识管理系统,它以其强大的笔记组织功能和灵活的自定义能力受到许多用户的喜爱。在日常工作中,...
读书笔记:大话设计模式C++
记忆笔记一——文化生活二 .pdf
读书笔记:图解设计模式笔记
读书笔记:《大话设计模式》—— 随书实践
读书笔记:IOS设计模式探索(大话设计模式)