![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 80
machicao2013
技术改变生活
展开
-
对Bridge模式的理解
对Bridge模式的理解 摘要:本文首先解释了Bridge模式的定义。然后通过一个例子,一步步将Bridge模式实现。 在一切开始之前,请允许我先给出三条经典名言:Design to interfaces. Find what varies and encapsulate it. Favor composition over inheritance.后面我们会反复,并且是反反复复的用到。转载 2013-05-24 14:27:16 · 685 阅读 · 0 评论 -
抽象工厂(Abstract Factory)模式
一、 抽象工厂(Abstract Factory)模式 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。 为了方便引进抽象工厂模式,引进一个新概念:产品族(Product Family)。所谓产品族,是指位于不同产品等级结构,功能相关联的产品组成的家族。如图: 图中一共有四个产品族,分布于三个不同的产品等级结构中。只要指明一个产品所处的产品族以及它所属转载 2013-05-24 14:28:14 · 492 阅读 · 0 评论 -
composite模式
1. 概述 在数据结构里面,树结构是很重要,我们可以把树的结构应用到设计模式里面。 例子1:就是多级树形菜单。 例子2:文件和文件夹目录 2.问题 我们可以使用简单的对象组合成复杂的对象,而这个复杂对象有可以组合成更大的对象。我们可以把简单这些对象定义成类,然后定义一些容器类来存储这些简单对象。客户端代码必须区别对象简单对象和容器对象,而实际上大多数情况下用户认为转载 2013-05-24 15:44:05 · 504 阅读 · 0 评论 -
Decorator装饰模式
Decorator装饰模式是一种结构型模式,它主要是解决:“过度地使用了继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀(多继承)。继承为类型引入的静态特质的意思是说以继承的方式使某一类型要获得功能是在编译时。所谓静态,是指在编译时;动态,是指在运行时。 GoF《设计模式》转载 2013-05-24 16:07:16 · 437 阅读 · 0 评论 -
Builder模式的误区:将复杂对象的构建进行封装,就是Builder模式了吗?
最近重读GOF的《设计模式》,读到Builder模式的时候,发现还是不能领悟;网上搜了下其他人的解释,发现很多人都用错了Builder模式,结构形似Builder,实际上却更像Template、或者Factory Method,或者四不像,并没有体现出Builder模式的思想和威力;通过对比学习,也逐渐加深了我对Builder模式的认识,于是就有了这篇文章。 0. GOF - Builde转载 2013-05-24 09:25:11 · 499 阅读 · 0 评论 -
Chain of Responsibility Pattern
行为模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。 行为模式分为类的行为模式和对象的行为模式两种。 类的行为模式:类的行为模式使用继承关系在几个类之问分配行为。对象的行为模式:对象的行为模式则使用对象的聚合来分配行为 一、 职责链(Chain of Responsibil转载 2013-05-24 20:40:18 · 420 阅读 · 0 评论 -
命令模式(Command)
在阎宏博士的《JAVA与模式》一书中开头是这样描述命令(Command)模式的: 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 命令模式的结构 命令模原创 2013-05-24 21:36:19 · 449 阅读 · 0 评论