码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式学习笔记

时间:2015-04-15 01:01:59      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:设计模式

工厂方法、抽象工厂

工厂方法是将生产产品(new一个实例)的过程交给工厂,需要某个产品时直接向工厂要,不必自己生产(自己new一个实例时可能需要设置很多属性,所以把这个工作交给工厂),一个工厂只能生产一类产品;

抽象工厂将工厂进行了抽象,一个工厂可以生产多个类别的产品。


装饰模式、外观模式、代理模式、桥接模式、中介模式
装饰模式需要将被装饰的实例传给装饰者;
外观模式是将总是一起做的事情放统一到一个函数中,由这个函数去调用具体要做的事情,类似于把事情再抽象一层;
代理模式则由代理者全权代理;
桥接模式是引入一座桥,通过桥来达到某个目的,比如寄快递时我们把包裹给快递公司,同时告诉快递公司要寄送到哪里就可以了,而不用关心具体是怎么运送的,这里的快递公司就相当于桥;(JDBC)
中介模式是中介者Mediator手中持有对应的资源(类的实例),当我们需要这些资源时(需要调用实例的某些方法)通过向中介者申请(调用中介者的方法)。

单列模式、享元模式
单列模式是每个客户端调用的都是同一个实例;
享元模式是事先初始化一定数量的实例,其中一个实例同时只能被一个客户端使用,当调用结束之后,其他客户端又可以使用这个实例了,也就是说每个实例都可以重复利用。(连接池)

模板方法
通过继承实现的多态。

观察者模式
通过接口实现回调。

责任链模式
类型A的实例a1可以持有类型A的另一个实例a2,当调用a1的某个方法method()时,a1.method()自己处理完后,如果存在a2,则调用a2.method。(拦截器)

状态模式
根据不同的状态(比如某个属性变量的值)不同,表现出来的行为不同(调用函数时得到的结果或执行的过程不同)。

访问者模式
适合数据结构相对稳定,但是算法容易变化的系统,反之则不适合。

解释器模式

给解释器Expression一个上下文Context,Expression从Context中获取对应的值来进行计算(将Context解释出来)。


设计模式学习笔记

标签:设计模式

原文地址:http://blog.csdn.net/vipycm/article/details/45049751

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!