![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 74
liuxi
这个作者很懒,什么都没留下…
展开
-
设计模式--spring源码中使用策略模式(Strategy Pattern)
策略模式(Strategy Pattern)中体现了两个非常基本的面向对象设计的基本原则:封装变化的概念;编程中使用接口,而不是对接口实现。策略模式的定义如下: 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。 策略模式使开发人员能够开发出由许多可替换的部分组成的软件,并且各个部分之间是弱连接的关系。弱连接的特性使软件具有...原创 2010-01-29 10:59:54 · 242 阅读 · 0 评论 -
设计模式--使用java内置的观察者模式(Observer Pattern)
观察者模式是对象的行为模式,顾名思义,即存在观察者和被观察者。 观察者模式可以让多个观察者同时监听同一个被观察对象,当被观察对象发生变化时,并通知所有观察者,使各个观察者能作出相应的响应。 在java中提供了Observerable类和Observer接口来实现观察者模式。 JAVA 内置的 Observer 类不是一个好的设计。首先,因为 Observable 是一个“类”,则必须设计一个类...原创 2010-01-30 22:05:10 · 127 阅读 · 0 评论 -
设计模式--装饰者模式
1、概念描述 该模式以对客户端透明的方式扩展对象的功能。 装饰者模式:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 装饰者和被装饰者必须是一样的类型,这是相当关键的地方。我们利用继承达到"类型匹配",而不是利用继承获得"行为"。装饰者和被装饰者需具有相同的"接口",使得装饰者能够取代被装饰者;他们的行为,是通过组件之间的组...原创 2010-01-31 22:37:45 · 117 阅读 · 0 评论 -
设计模式--工厂方法模式和抽象工厂模式(Factory Pattern)
1、工厂模式的形式 工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态的决定将哪一个类实例化,工厂模式有以下几种形态: 简单工厂(Simple Factory)模式:又称静态工厂方法(Static Factory Methord)模式。 工厂方法(Factory Method)模式:又称多态性工厂(Polymorphic Factory)模式或虚拟构造子(V...原创 2010-02-02 11:43:32 · 86 阅读 · 0 评论 -
设计模式--Singleton pattern and Double-checked locking
1、定义 《Head First -Design Pattern》 一书中定义其作用如下: The Singleton Pattern ensures a class has only one instance, and provides a global point of access it. (确保每个类只有一个实例,并提供它的全局访问点) ...原创 2010-02-02 15:32:20 · 68 阅读 · 0 评论 -
设计模式--适配器模式(Adapter Pattern)
1、定义 将一个类的接口,转换成客户期望的另一种接口。适配器让原本不兼容的类可以合作无间。 2、Head Frist 设计模式中关于适配器模式 说明:适配器需要实现目标接口 3、java中编写将枚举适配到迭代器 适配器Enumeratorlterator.java public class EnumerationIterator implements Iterator&...原创 2010-02-02 23:56:59 · 90 阅读 · 0 评论 -
设计模式--外观模式(Facade Pattern)
1、概念理解 外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,让子系统更容易使用。 软件设计原则:要减少对象之间的交互,只留下几个“密友”。这个原则被成为“最少知识(Least Knowledge)原则”,它告诉我们只和自己的密友谈话。 *外观模式在简化接口的同时,依然将系统完整的功能暴露出来,一共需要的人使用。 *外...原创 2010-02-03 09:34:06 · 85 阅读 · 0 评论 -
设计模式--模版方法模式(Templet Method Pattern)
1、概念理解 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 2、例子 tea、coffee制作例子 Coffee 具体步骤如下 煮开水,煮咖啡,倒咖啡,加牛奶,加糖 Tea 具体步骤如下:煮开水,泡茶,倒茶,加柠檬 (1):首先是abstract模版类 public abstract clas...原创 2010-02-03 11:52:55 · 225 阅读 · 0 评论 -
模版方法模式--java数组排序及Comparable接口用法
1、概述 Arrays类有一个静态方法sort,利用这个方法我们可以传入我们要排序的数组进去排序,因为我们传入的是一个数组的引用,所以排序完成的结果也通过这个引用的来更改数组。对于整数、字符串排序,jdk提供了默认的实现,如果要对一个对象数组排序,则要自己实现java.util.Comparator接口。 java.util.Arrays中代码 public static v...原创 2010-02-03 15:02:55 · 153 阅读 · 0 评论