
设计模式
cj2580
这个作者很懒,什么都没留下…
展开
-
设计模式系列01:简单工厂模式
一个工厂生产很多的产品。包含了一个接口,若干个实现类,以及一个工厂来生产这些实现类。我们以生产Fruit来加以说明。类图如下:fruit是一个水果接口。//简单工厂设计模式public interface Fruit { public void display();}实现类:Apple */public class Apple implements Fruit { @Ov原创 2017-05-02 17:08:37 · 408 阅读 · 0 评论 -
设计模式-单例模式(其他写法)
1、饿汉式(静态常量)[可用]public class Singleton { private final static Singleton INSTANCE = new Singleton(); private Singleton(){} public static Singleton getInstance(){ return INSTAN原创 2016-11-28 15:05:25 · 273 阅读 · 0 评论 -
设计模式09-观察者模式
观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。subject主题类:public class Subject { List<Observe> list; public Subject() {原创 2016-12-05 16:24:09 · 285 阅读 · 0 评论 -
设计模式08:装饰者模式
装饰模式使用被装饰类的一个子类的实例,把客户端的调用委派到被装饰类,装饰模式的关键在于这种扩展是完全透明的。抽象构件角色(Color):给出一个接口,以规范准备接收附加责任的对象 具体构件角色(RedColor):定义一个具体实现类 装饰角色(Pen):持有一个Color对象的实例 具体装饰角色(LargeSizePen、SmallSizePen):负责给构建对象“贴上”附加的责任。UML类原创 2017-05-03 16:07:19 · 222 阅读 · 0 评论 -
设计模式07:桥接模式
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 我们通过下面的实例来演示桥接模式(Bridge Pattern)的用法。其中,可以使用相同的抽象类方法但是不同的桥接实现类,来画原创 2017-05-03 11:17:59 · 384 阅读 · 0 评论 -
设计模式06:适配器模式
适配器模式还是很好理解的,就是我已知了一个要达成的接口,但是我原先写了一个类可以满足这个接口的部分功能,所以我不想重新写程序,于是我用这个类来封装成这个接口要求的样子。例如已经存在一个Adaptee类,存在一个方法oldmethod();public class Adaptee { public void oldmethod(){ System.out.println("我原创 2017-05-02 20:44:26 · 263 阅读 · 0 评论 -
设计模式05:建造者模式
抽象一点说建造者模式的目的: 将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。——-《设计模式》GOF举个例子,一台电脑的主板上有很多的硬件,可能根据需要要经常的更换。比如现在要将Intel的CPU换成AMD的,那么我们不需要从新的构建一块主板,而是只换CPU就可以了。这就是建造者模式需要达到的目的。整个建筑过程和具体的表示分离,建造过程指的是每个电脑主板都有cpu,表示原创 2017-05-02 20:23:48 · 384 阅读 · 0 评论 -
设计模式04:单例模式
单例模式,比较简单。UML如下 饿汉式:public class Single { private static Single single=new Single(); private Single(){} public static Single getInstance(){ return single; }}懒汉式:方法体上需要加synchr原创 2017-05-02 19:44:14 · 220 阅读 · 0 评论 -
设计模式03:抽象工厂
抽象工厂使用抽象类(或者接口)来定义某一类工厂的行为。UML图如下: 适用OrangeFoodFactory来创建橙色的食物:public class OrangeFoodFactory implements AbstractFactory { @Override public Fruit getFruit() { Fruit fruit =new Orange()原创 2017-05-02 19:38:32 · 263 阅读 · 0 评论 -
设计模式系列02:工厂方法模式
一个工厂生产很多的产品。包含了一个接口,若干个实现类,以及一个工厂来生产这些实现类。我们以生产Fruit来加以说明。类图如下:fruit是一个水果接口。//简单工厂设计模式public interface Fruit { public void display();}实现类:Apple */public class Apple implements Fruit { @Ov原创 2017-05-02 17:26:22 · 290 阅读 · 0 评论 -
设计模式10:代理模式
代理模式比较简单,代理某个类实现某个功能.UML 如下图:gift接口public interface Gift { public void give(String name, String sb);}boy类public class Boy implements Gift { public void give(String name, String sb) {原创 2017-05-03 17:05:17 · 295 阅读 · 0 评论