设计模式
gong1208
这个作者很懒,什么都没留下…
展开
-
设计模式(一)——策略模式
设计模式(一)——策略模式 从今天开始,我将会写一个设计模式系列,当然,不敢说什么独到见解,而是本着一个自我提升的目的的,欢迎拍砖和交流。 本文描述的是策略模式 我们假设有如下场景: 我们使用聊天工具聊天时,可以发送点对点消息(私聊)和点对多消息(群聊),而发送不同的消息执行的操作是不一样的,也就是说我们在不同的场景下(私聊或者群聊)发送消息时会调用不同的发送方法,但是我原创 2012-07-04 16:48:42 · 188 阅读 · 0 评论 -
设计模式(八)——模板方法模式
设计模式(八)——模板方法模式 这几天杂七杂八的事有点多,停了几日,今日继续,今天讲最简单的模板方法,但是却是用的比较广泛的。首先来明确下概念吧,模板方法的写法是这样,准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现,这就是模板方法模式的用意。模板方法...2012-07-17 16:51:09 · 100 阅读 · 0 评论 -
设计模式(七)——门面模式
设计模式(七)——门面模式 门面模式(facade pattern),又称外观模式,为子系统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。简而言之,就是把一堆复杂的流程封装成一个接口供给用户更简单的使用,这个设计模式里有三个角色: 1)门面角色( facade ):这是门面模式的核心。它被客户角色调用,因此它熟悉子系统...2012-07-10 13:35:54 · 82 阅读 · 0 评论 -
设计模式(六)——抽象工厂模式
设计模式(六)——抽象工厂模式 感冒了几天,没写。今天继续,上次写到工厂方法模式了,总的来说,工厂方法模式还是挺简单的,这次讲的抽象工厂模式,听名字也知道应该是与工厂模式是一脉相承的,顾名思义就是将工厂模式抽象化了,是的,木有错,就是这样,实质上就是在具体产品和具体实现工厂与各自接口中间再加入了一个抽象类,这样做有什么好处?废话,没好处我闲的那什么疼要多加一层?现在不说,写完一看...2012-07-09 15:15:43 · 106 阅读 · 0 评论 -
设计模式(五)——工厂方法模式
设计模式(五)——工厂方法模式 工厂方法模式(Factory Method Pattern)其定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 工厂方法模式的优点 1. 工厂方法模式可以降低模块间的耦合性,使用工厂方法模式创建一个对象,不再需要知道创建该对象的艰辛过程和必要信息,只需要提供一个产品的约束条件(例如,类名...2012-07-04 14:52:12 · 88 阅读 · 0 评论 -
设计模式(四)——多例模式
设计模式(四)——多例模式 所谓多例(Multiton Pattern)实际上就是单例模式的自然推广。作为对象的创建模式,多例模式或多例类有以下的特点:1、多例类可以有多个实例2、多例类必须能够自我创建并管理自己的实例,并向外界提供自己的实例。 典型的例子就是数据库线程池,下面我就模拟一下用户取得线程池中连接的简化场景: 先设计这个产生连接的类 packag...2012-07-04 13:30:29 · 173 阅读 · 0 评论 -
设计模式(三)——单例模式
设计模式(三)——单例模式 本文讲述单例模式 单例模式很简单,就是将默认的构造函数私有化,这样在外部就无法直接创建该类的实例,而实例的创建都放在该类中,并且只有一份,这里不假设具体的场景了,直接看代码就好: public class SingletonPattern { private static SingletonPattern singletonPattern= ...2012-07-04 11:10:06 · 74 阅读 · 0 评论 -
设计模式(一)——策略模式
设计模式(一)——策略模式 本文描述的是策略模式 我们假设有如下场景: 我们使用聊天工具聊天时,可以发送点对点消息(私聊)和点对多消息(群聊),而发送不同的消息执行的操作是不一样的,也就是说我们在不同的场景下(私聊或者群聊)发送消息时会调用不同的发送方法,但是我们只有一个消息发送器(可以理解为发送消息时的发送按钮),我们希望可以通过这消息发送器发送任何类型...2012-07-04 09:49:54 · 86 阅读 · 0 评论 -
设计模式(二)——代理模式
设计模式(二)——代理模式 本文讲述的是代理模式 我们假设有如下一种场景: 有关水果的销售,有三种角色:顾客,批发商,果农,大城市里的顾客想要买某种水果,不会直接去找果农,他会找对应的批发商(顾客可以是单个消费者也可以是零售商,这个没差别),批发商会将相应的水果卖给顾客,但是实际上批发商是不生产水果,他只不过是在代果农销售水果而已,而且批发商可以销售各种水果,...2012-07-03 19:52:01 · 86 阅读 · 0 评论 -
设计模式(九)——适配器模式
适配器模式适配器模式,不想讲概念,假设个情景:公司现在要开发一个ERP系统,需要查询公司所有员工的信息,这个很好办,很快开发完了;然后来了个需求,公司收购了一家公司,该公司的组织结构与本公司不同,他们有自己的ERP系统,并且希望保留自己的ERP系统,但是总公司管理人员可不想使用两个ERP系统,他习惯了用总公司的ERP系统,所以,我们需要把子公司的ERP系统整合到总公司的ERP系统...2012-08-24 17:47:42 · 77 阅读 · 0 评论