设计模式
文章平均质量分 85
不可言说
这个作者很懒,什么都没留下…
展开
-
23种设计模式之-----代理模式(Proxy Pattern)
代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。举例说明,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用。比较典型的例子,就像生活中的大明星,他们拥有自己的经纪人,那么一般很多事就由经纪人代替他们自己来进行。比如接一部电视剧1、静态代理原创 2017-11-28 21:24:51 · 255 阅读 · 0 评论 -
23种设计模式之-----简单工厂(静态工厂)模式(SimpleFactory Pattern)
这里引用https://www.kailing.pub/PdfReader/web/viewer.html?file=24DesignPattern讲解设计模式一文中的例子。这个例子很形象而且通俗易懂,这个例子是一个女娲造人的故事。女娲造人的时候呢,把人分成了三个人种,然后用泥在太上老君的八卦炉来炼。事先呢先确定好人的一些属性和能力。public interface Human { //会...转载 2017-10-20 13:16:19 · 219 阅读 · 0 评论 -
23种设计模式之-----策略模式(Strategy Pattern)
在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系转载 2017-11-30 19:44:54 · 212 阅读 · 0 评论 -
23种设计模式之----单例模式(Singleton Pattern)
在生活中我们可能遇到这样的情况,家里煮饭用的电饭锅(家里只有一个的情况),早上煮,用它,晚上煮,还是用它,你爸煮用它,你妈煮还是用它,这就类似于我们单例模式的场景了。单例模式是我们常提到的最多的设计模式之一,单例模式的特点如下:1、有且只有一个实例。2、该实例是他自己实例化的。3、需向整个系统提供的都是这一个实例。那么,我们要怎么实现一个单例模式呢?这里我给大家提供几种方法:原创 2017-10-19 16:21:44 · 242 阅读 · 0 评论 -
23种设计模式之-----工厂方法模式(Method Factory pattern)
沿用女娃造人的故事:我们把造人的炉子抽象一下,分成个来造,白色的炉子造白人,黑色的炉子造黑人,黄色的炉子造黄种人。那么:人的接口:public interface Human { //会说话 public void talk(); //会笑 public void laugh(); //会哭 public void cry();}黄种人:pu...原创 2017-11-18 20:32:14 · 197 阅读 · 0 评论 -
23种设计模式之-----模板方法模式(Template Method Pattern)
曾经在银行做过增值税管理系统,对于财务会计上的增值税的计算,需要严格按照(卖出价-买入价)* 税率来计算,也就是说,我们需要这样一个流程,我们需要先统计整个卖出价格,再统计出整个买入价格,然后作差后,再乘以税率。必须符合整个流程顺序,这样的一个流程就比较符合模板方法模式了。模板方法模式(Template Method Pattern):准备一个抽象类,将部分逻辑以具体方法以及具体构造函原创 2017-12-18 18:43:36 · 275 阅读 · 0 评论 -
23种设计模式之-----门面模式(Facade Pattern)
门面模式的理解:设计模式中的门面模式是指当用户需要对多个子系统进行调用时,无需由用户亲自去调用各个子系统的方法,我们只需要创建一个类似于门面的类,由这个类去对子系统的各个方法进行调用,而用户只需要跟这个门面类进行交互就可以。举个栗子:比如淘宝美团的跑腿代购,我需要买点东西,买点菜,然后买个烧水壶,还有一袋吐司面包。。。如果没有这个跑腿代购呢,我就需要到菜市场去买才,然后转移阵地到苏宁啊原创 2017-12-06 23:21:52 · 368 阅读 · 0 评论 -
23种设计模式之-----适配器模式(Adapter Pattern)
先举个栗子,在生活中我们会常遇到这样的问题,你想要一罐草莓果酱,但是果农呢只能提供给你新鲜好吃的草莓果子,这就不是你想要的呀,于是呀,果农就先把草莓卖到工厂里,果酱工厂对草莓进行加工,加工成果酱之后呢,你再去工厂那里把草莓果酱买回来(忽略中间商店)。那么这个果酱加工厂呢,就算是一个适配器(Adapter),它能帮你把你不是你想要的草莓加工成你想要的草莓果酱。这个过程就是适配器模式。适配器模式(原创 2017-12-11 23:33:49 · 226 阅读 · 0 评论 -
23种设计模式之-----建造者模式(Builder Pattern)
定义:建造者模式,又叫生成器模式,它的核心思想是 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。类图:建造者模式的几个角色:产品(product):需要组装的具体产品,内部存在自己的属性和特诊。抽象建造(Builder):对产品部件进行加工,对产品进行组建。可以是抽象类,也可以是接口。具体建造(ConcreteBuilder):抽象建造原创 2017-12-20 18:23:14 · 357 阅读 · 0 评论 -
23种设计模式之-----抽象工厂模式(AbstractFactory pattern)
抽象工厂模式(Abstract Factory Pattern)是工厂方法模式的进一步抽象,其英文原话"Provide an interface for creating families of related or dependent objects without specifying their concrete classes",翻译,“为创建一组相关或相互依赖的对象提供一个借口,无需指定...原创 2017-11-15 17:53:35 · 298 阅读 · 0 评论 -
23种设计模式之-----观察者模式(Observer Pattern)
进入正题之前,我给对于设计模式来说还是新手的同学推荐一本学习设计模式的书,这本书叫做《Head First设计模式》,如果可能的话,看英文原版能让你更加贴近于作者的思想。进入正题,这次我学习的是观察者模式(Observer Pattern),在java语言中用得最多的设计模式之一。观察者模式,又叫发布-订阅模式,具体的定义是:定义了对象之间一对多的依赖,当一个对象的状态改变时,它的所有依赖原创 2018-01-02 19:51:27 · 1036 阅读 · 0 评论