October 29, 2016

设计模式概览

OOP软件设计原则:7个(SOLID)

1.单一职责原则:不同的职责尽量封装到不同的类

2.开闭原则:允许拓展,但不可修改

3.依赖倒置原则:对抽象进行编程,少对实现进行编程

4.接口隔离原则:使用多个专门的接口比使用单一的总接口要好,不应该强迫客户依赖于它们不用的方法

5.里氏替换原则:可以用父类,就一定可以用子类

6.合成复用原则:不要滥用继承,“Is-A”用继承,“Has-A”用合成

7.迪米特原则:减少直接调用,通过中介类转达

1、创建型模式:5种(1-5)

1.工厂方法模式(Factory Method)

1.1.普通工厂模式:

October 29, 2016

单例模式

1、场景类

//单例模式-场景类

public class SingletonClient {

public static void test() {

ISingleton iSingleton=Singleton05.getInstance();

iSingleton.doSomeThing();

}

}

2、接口

//其实没啥卵用,只是为了测试方便加的

public interface ISingleton {

void doSomeThing();

}

3、几种不同的单例模式

1.饿汉式

2.懒汉式

3.双重锁定式

4......

October 20, 2016

设计模式-11种行为型

1.观察者模式

测试场景类:接收更新通知

public class TestClient {

@Test

public void test() {

SubjectImpl subject = new SubjectImpl();

IObserver I......

October 20, 2016

设计模式-7种结构型

1.桥接模式

测试环境类:消息通知系统

public class TestClient {

/**

* 发送提示消息

* <p>

* 从业务上看,消息又分成普通消息、加急消息和特急消息多种

* 加急消息:是在消息上添加加急,

* ......

October 20, 2016

设计模式-5种创建型

1.单例模式

单例模式的实现,一共有5种方式:

饿汉式

懒汉式

双重锁定式

枚举式

静态内部类式

此处仅以最常见的双重锁定式为例!

适用于内存中只有唯一实例,避免频繁创建销毁。

注意:易导致内存泄露!不利于mock测试!

代码

package base.designpattern.crea......

October 20, 2016

设计模式-6大设计原则

我对设计原则的理解:

使用......