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自学笔记——设计与验证公开版;十分适合初学者使用
——————————————————————————————————————————————
数字图像处理笔记⑥——图像分割.pdf 数字图像处理笔记⑥——图像分割.pdf 数字图像处理笔记⑥——图像分割.pdf 数字图像处理笔记⑥——图像分割.pdf 数字图像处理笔记⑥——图像分割.pdf 数字图像处理笔记⑥——...
NULL 博文链接:https://zisefeiniao.iteye.com/blog/395801
上海初三英语阅读精讲笔记1——阅读A篇题型-原创.pdf
上海初三英语阅读精讲笔记1——阅读A篇题型-原创.rar
那个时候,能出一本认认真真讲 FPGA 设计的 书, 会得到非常高的评价。 而我,则由于工作变动, 中间拖沓了半年,当半年后再来准备动 笔时,才恍然领悟到, Altera 即将成为 Intel 的可编程事业部, 基于嵌入式硬核...
S7-200 Smart入门笔记1——流水灯 按钮 S7-200 Smart入门笔记1——流水灯 定时器 S7-200 Smart入门笔记2——读时钟 S7-200 Smart入门笔记3——呼吸灯 S7-200 Smart入门笔记4——全局变量和局部变量 S7-200 Smart入门...
【书本源码V1.3】FPGA自学笔记——设计与验证
记忆笔记一——文化生活二 .pdf
论文笔记模板——自用xmind模板.zip
读书笔记——AGoodManIsHardToFind.pdf
网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维...
zigbee学习笔记2——添加自己的任务 网络层数据服务
网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx
Talend学习笔记2——mysql文件导入到HDFS
vue第五天笔记02——vuex数据仓库练习
移动应用 UI 设计, 读书笔记, 记录摘取书籍中重点信息,有助于页面设计,原型设计等