
设计模式初探
文章平均质量分 67
sunp823
积跬步,至千里;积小流,成江海
展开
-
策略(strategy)模式
Head First一书中对于策略(strategy)模式的正式定义是:策略模式定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。为了介绍这个算法,书中讲了一个例子:在某个游戏中,有各种各样的鸭子,系统的内部设计使用了严格的OO技术,设计了一个鸭子(Duck)父类,所有的鸭子种类均继承于此父类。Joe设计的鸭子类如下:package com.f原创 2015-08-22 21:52:37 · 463 阅读 · 0 评论 -
Facade外观模式
外观模式(Facade)是结构型设计模式,外观模式就是为一个子系统中的多个类提供统一接口的方法,把一个组件单元构建为一个子系统有助于减少软件的复杂性,而且可以使子系统与其他组件的通信关系更加间接、易控制,可以最大限度的降低组件间的耦合度。达到这一个目标的最好方法就是引进一个外观类,让它为子系统的通用功能提供一个简单一致的公共接口。 在别处看到一个例子,就是组装电脑,需要一台电脑,你原创 2015-08-22 01:07:19 · 370 阅读 · 0 评论 -
java观察者(Observer)模式
观察者模式: 试想,在电子商务网站上,一个用户看中了一件一份,但是当时衣服的价格太贵,你需要将衣服收藏,以便等衣服降价时自动通知该用户。这里就是典型的观察模式的例子。 1.观察者模式的定义: 定义了一种对象之间的依赖关系,当一个对象(主题)发生改变时,它所有的依赖者(观察者)会收到主题状态改变的通知,并更新自己的状态。观察者模式让主题和观察者松耦合。原创 2015-10-21 11:01:21 · 557 阅读 · 0 评论 -
线程安全的单例模式
实现线程安全单例模式的两种方式: 1.双重检查+同步:public class Singleton{ private volatile static singletonInstance; private Singleton(){} public static Singleton getSingleton() {原创 2016-03-11 18:16:05 · 392 阅读 · 0 评论