随笔分类 -  设计模式

摘要:观察者模式(又被称为发布-订阅模式、模型-视图模式、源-收听者模式或从属者模式) 观察者模式中,一个目标对象管理所有依赖于它的观察者对象,并且在它本身的状态改变时主动发出通知。 应用场景 拍卖会可以认为是观察者模式的一种,每个投标人都可以出价。拍卖师开始拍卖时,他观察是否有牌子举起出价。每次接受一个 阅读全文
posted @ 2016-06-17 20:25 邴越 阅读(422) 评论(0) 推荐(0) 编辑
摘要:模板方法模式(Template Method Pattern) 又叫模板模式,通过定义一个操作的算法骨架,而将一些步骤延迟到子类中,可以不改变一个算法的结构,却又可以重新定义概算法的某些特定步骤。 应用场景 Java抽象类的应用可以很好的展示模板模式的思想。 概念解释 Spring JDBC框架提供 阅读全文
posted @ 2016-06-15 21:10 邴越 阅读(640) 评论(0) 推荐(0) 编辑
摘要:建造者(Builder)模式 GOF给出的定义为:建造者模式是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 应用场景 使用建造者模式是为了将构建复杂对象的过程和它的部件解耦。注意:是解耦过程和部件。 参与角色 建造者模式通常包括以下这几个角色: 1、Builder:给 阅读全文
posted @ 2016-05-19 17:40 邴越 阅读(416) 评论(0) 推荐(0) 编辑
摘要:命令模式将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化, 并且可以对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 概念描述 把命令的调用者与执行者分开,使双方不必关心对方是如何操作的。比如有一组文件操作的命令:新建文件、复制文件、删除文件。如果把这三个操作都封装成一个命令 阅读全文
posted @ 2015-05-20 10:26 邴越 阅读(327) 评论(0) 推荐(0) 编辑
摘要:适配器模式把一个类的接口变换成客户端所期待的另一种接口。 在JDK中的体现 把一个接口或类变成另外一种。 java.util.Arrays#asList()javax.swing.JTable(TableModel)java.io.InputStreamReader(InputStream)java 阅读全文
posted @ 2015-02-28 09:11 邴越 阅读(366) 评论(0) 推荐(0) 编辑
摘要:应用场景 实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如编写排序算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当然也可以将这些查找算法封装在一个统一的方法中,通过if…else…或者case等条件判断 阅读全文
posted @ 2014-11-21 11:39 邴越 阅读(362) 评论(0) 推荐(1) 编辑
摘要:单例模式大概是最直观的一种设计模式了,尽管直观却不简单。 数学与逻辑学中,singleton定义为“有且仅有一个元素的集合”, 单例模式可以如下定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供”。 我比较喜欢Design Patterns 一书中的描述"保证一个类仅有一个实例,并提供一个 阅读全文
posted @ 2014-04-12 10:54 邴越 阅读(378) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示