随笔分类 - 设计模式
设计模式
摘要:一、引言 很多时候我们只是知道一个物品,至于它是怎么产生的,我们不得而之。比如邮局里面是怎么操作信件的,我们只是需要将写的情信拿到邮箱就可以了,并不用理会它将通过怎么一个形式,或者怎么的途径将我表达的爱传播出去的。这也导致了之前我们很乐意的花钱买三聚氰胺奶粉来喝。二、门面模式 1. 定义:门面模式了叫外观模式,它提供一个高层次的接口,使得子系统更易于使用,门面模式注重“统一对象”,也就是提供一个访问子系统的接口,除了这个接口不允许有任何访问子系统的行为发生。 2. 示意图:【如下图所示】 3. 示意图说明:门面模式,是提供给客户调用的一个途径,使得客户端不必与底层的子系统进行交互。屏蔽...
阅读全文
摘要:一、引言 今天笔者想写的设计模式——单例模式,其意图就是为了使系统有且仅有一个实例化,也就是一个对象我只有new一次就够了,也是像我们平凡人一样,婚结一次就够了,但是现在的社会啊,我只能以“理想很丰满,现实很骨感”来形容了,让我们一起了解下单例设计模式吧。二、单例模式 1. 定义:它是比较简单的一个模式,就是确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 2. 类图:单纯的单例模式,其实就一个类,所以在此处就省略一下类图吧。三、单例模式示例 1. 懒汉式 package com.pattern.singleton.core;/** * 单例——懒汉式 * 典型的以...
阅读全文
摘要:一、引言 十一黄金周,对于像我们这些屌丝来说,确实是个不错的出游时机,可惜的就是这个假期是public的,并不是我等屌丝独占的。真是有种生前活在人堆里的感慨,这时候选择交通工具是异常的重要,笔者回家需要经过深汕高速,每逢节假日,高速基本都会成为免费停车场的,加之国庆免费,真是雪上加霜啊。今天我所写的就是以选择交通工具为题阐述一下策略模式吧。二、策略模式 1. 定义:定义一组算法,将每个算法都封装起来,并使他们之间可以互换。 2. 类图:【如下图所示】 3. 类图说明: 3.1 ITransport:策略抽象类,定义每个算法必须具有的方法和属性。 3.2 Plane,...
阅读全文
摘要:一、引言 前些天,广州恒大在亚冠赛地上创造了中国足球历史,以8:1比分挺进决赛。虽然我不怎么看足球,毕竟中国的足球,你都知道的啦,但还是挺为恒大感到骄傲,希望恒大能如愿的拿到冠军.....今天我将以亚冠买门票为题引出我今天想写的代理模式吧。二、代理模式定义 1. 定义:代理模式也叫委托模式,代理模式为另一个对象提供一个替身或点位符以控制对这个对象的访问。 2. 类图:【如下图所示】 3. 类图说明 客户端与RealSubject交互时都必须通过Proxy。因为Proxy和RealSubject实现相同的接口(Subject),所以任何使用到RealSubject的地方,都可以用P...
阅读全文
摘要:一、业务需求 OA系统中通常都会存在一个流程审批的需求,然而部门的千姿百态,引发需求的千变万化;因此需要在设计及开发过程中,更多地、更好的设计程序,以便可方便扩展其功能。 在做项目的过程中,客户提出这样一个需求:OA系统中对于业务流程的审批可分为:流程性审批、非流程性审批还有其他审批,流程性审批又包括流程A审批,流程B审批......非流程性和其他审批也类似【如下图所示】,最终返回的结果当前业务流程所在节点的状态信息。 由于我对设计模式并不熟悉,了解的东西顶多也就只会纸上谈兵,吹吹水罢了。终于到了实战了,拿到需求后,前前后后在E-R图、功能设计上花了将近半个钟,于是采用工厂模式来完成对这...
阅读全文