《研磨设计模式》读书笔记-待续

阅读说明

选择这边书来精读,主要是因为这本书与实际编程结合的比较紧密。

阅读记录

2016年6月1日 开始

设计模式基础

设计模式是什么

设计模式是重复出现特定问题的解决方案。
这里提到的接口的使用规范是,能使用接口的地方优先使用接口。这里与《effect java 2》中18条一样,优先使用接口,能用接口就不用抽象类。

设计模式分类

结构型 创建型 行为型
外观模式 单例模式 中介者模式
适配器模式 工程方法模式 观察者模式
代理模式 抽象工厂模式 命令模式
组合模式 生成器模式 迭代器模式
享元模式 原型模式 模板方法模式
装饰模式 策略模式
桥接模式 状态模式
备忘录模式
解释器模式
责任链模式
访问者模式

简单工厂模式

这个不在Gof的23个模式之列

所谓组件:从设计上讲,组件就是能够完成一定功能的封装体。

简单工厂就是在客户端上,一般最基础的教程是

List<String> list = new ArrayList<>();//java1.7
/**
这个标准用法没有问题,不过涉及到我们自己写的方法,接口的具体实现就会暴露在客户端上,如下:
Interface face = new IntefaceImplA();
Interface face = new IntefaceImplB();
*/
//工厂如下:
Inteface face = Factory.getNewInstance("A");

image
注意点如下:

  1. 简单工厂为了防止客户端无限创建实例,一般都把构造函数私有化。
  2. 一个组件或者一个模块级别一个简单工厂,不宜过大,不容易区分,太杂。

简单工厂思考

简单工厂的实质是 选择实现
如果想客户端更安全,不知道具体的实现,还可以使用配置文件,然后再Factory里面用反射获得实现类,然后给出实现对象。

外观模式 Facade

外观模式定义

为子系统中一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

外观模式基本逻辑

image

posted @ 2016-06-02 14:09  小_城  阅读(418)  评论(0)    收藏  举报