Java设计模式
设计模式学习总结
L一刀G_
做自己喜欢的事,叫自由;喜欢自己做的事,叫幸福
展开
-
设计模式(十五)----命令模式
概述命令模式(Command Pattern),将一个请求封装为一个对象,从而可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。该模式是一种对象行为型模式,别名为动作(Action)模式或事务(Transaction)模式。命令模式是一种数据驱动的设计模式,请求以命令的形式包裹在对象中,并传给调用对象,调用对象寻找可处理该命令的对象,将命令传给该对象,再由该对...原创 2019-03-08 17:01:45 · 371 阅读 · 0 评论 -
设计模式(十四)----责任链模式
概述责任链模式(Chain of Responsebility Pattern)为请求创建一个接收者对象的链,该设计模式属于行为型模式。责任链模式是一种对象行为型模式,避免请求发送者与接收者的耦合。在该模式中,请求接收者的多个对象对其后继进行引用而连接起来形成一条链。请求在该链上传递,直到请求被该链上的某个对象处理。若接收者对象有权限处理该请求,则对该请求进行处理,否则,将该请求转发到该对象引...原创 2019-03-05 16:36:00 · 314 阅读 · 0 评论 -
设计模式(十三)----代理模式
概述代理模式(Proxy Pattern),提供了对目标对象另外的访问方式,即通过代理对象访问目标对象。这样做的好处是,可在目标对象实现的基础上,增加额外的功能操作,也就是扩展目标对象的功能。在此设计模式中,一个类代表了另一个类的功能,该设计模式属于结构型模式。在代理模式中,创建具有现有对象的对象,以便向外界提供功能接口。代理模式的关键点是,代理对象与目标对象,代理对象是目标对象的扩展,...原创 2019-02-28 11:17:17 · 154 阅读 · 0 评论 -
设计模式(十二)----享元模式
概述面向对象可很好地解决一些灵活性或扩展性的问题,但若系统中的对象数量过多就会对系统性能产生影响。享元模式提供了一种解决方案,使用共享技术实现相同或相似对象的重用。享元模式(Flyweight Pattern)主要用于减少对象的创建数量,该设计模式属于结构型模式。享元模式就是运用共享技术,有效地支持大量细粒度对象的复用。系统使用少量对象,而且这些对象都比较相似,状态变化小,可实现对象的多次复...原创 2019-02-25 18:32:17 · 207 阅读 · 0 评论 -
设计模式(十一)----外观模式
概述外观模式(Facade Pattern),属于结构型模式,向客户端提供一个访问系统的接口,该接口隐藏了系统内部复杂的结构。这种模式降低了客户端与系统之间的耦合度,转而外观类与系统间耦合。外观模式定义了一个接口,该接口主要为了客户端更加容易调用子系统(多个类),主要为了降低复杂系统访问的复杂度。该模式下,客户端不需要知道系统内部的复杂结构。在客户端和应用系统之间加一层,这一层将调用顺序,...原创 2019-02-15 15:44:42 · 269 阅读 · 0 评论 -
设计模式(十)----装饰器模式
概述装饰器模式(Decorator Pattern),允许向一个已有的对象添加新功能,同时又不改变其结构,属于结构型模式。它是作为现有类的一个包装。装饰器模式是在不改变原类文件和使用继承的基础上,动态扩展一个对象的功能。它通过创建一个包装对象,也就是装饰来包裹真实的对象。这种模式创建一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供额外的功能。意图:动态为一个对象添加额...原创 2019-02-14 16:35:14 · 194 阅读 · 0 评论 -
设计模式(九)----组合模式
概述组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当做一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分及整体层次。该设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。意图:将对象组合成树形结构以表示"部分-整体"的层次关系。组合模式使得用户对单个对象和组合对象的使用具有...原创 2019-01-31 18:09:04 · 190 阅读 · 0 评论 -
设计模式(八)----过滤器模式
概述过滤器模式(Filter Pattern),又叫标准模式(Criteria Pattern),是一种结构型模式。这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来,它结合多个标准来获得单一标准。优点:简单,解耦,使用方便。使用场景:需进行筛选时。实例下面将创建Student对象,Filter接口和该接口的实现类,基于各种标准和它们的组合来过滤S...原创 2019-01-30 17:20:31 · 840 阅读 · 0 评论 -
设计模式(七)----桥接模式
前言有两个属性:形状和颜色。假如现在形状有圆形、长方形和正方形,颜色有黑色、白色和灰色。现在我们要对形状进行上色,可以知道,一共会有3*3=9种不同的图形:黑色圆形、白色圆形、灰色圆形、黑色长方形。。。存在两种解决方案方案一:为每种形状提供各种颜色的版本(或为每种颜色提供各种形状的版本)。方案二:根据实际需要对形状和颜色进行组合。可以料想,方案一存在这样一个问题,假如我要添加一个三角...原创 2019-01-23 15:47:19 · 296 阅读 · 0 评论 -
设计模式(五)----原型模式
概念原型模式(Prototype Pattern)是用于创建重复对象,同时又能保证性能。在应用程序当中,有些对象比较复杂,同时,又会频繁的利用到该对象,通过new创建这些对象的方式比较麻烦,又会消耗比较多的资源。这时,就可以用一个已有的对象进行复制,原型模式就可满足这个"复制"。原型模式就是用一个原型对象,来指明所要创建对象的类型,然后通过原型对象所在类的复制对象的方法复制一个与原型对象同样...原创 2019-01-15 15:32:48 · 212 阅读 · 0 评论 -
设计模式(六)----适配器模式
概念适配器模式(Adapter Pattern),是作为两个不兼容的接口之间的桥梁。该设计模式属于结构型模式,它结合了两个独立接口的功能。其别名为包装器(Wrapper)模式,它既可以作为类结构型模式,也可作为对象结构型模式。在适配器模式定义中做提及的接口是指广义的接口,它可表示一个方法或方法的集合。这种模式涉及到一个单一的类(适配器类),该类负责整合独立的或不兼容的接口的功能。实例:家用...原创 2019-01-18 17:20:40 · 199 阅读 · 0 评论 -
设计模式(四)----建造者模式
简介建造者模式(Builder Pattern),是使用多个简单的对象一步步构建成一个复杂的对象。一个Builder类会一步步构造最终的对象,该Builder类是独立于其他对象的。意图:将一个复杂的构建与其表示相分离,使同样的构建过程可创建不同的表示。主要解决:在软件系统中,有时会面临复杂的对象的创建工作,该复杂对象通常由各个部分的子对象用特定算法构成。由于需求的变化,该对象的各个部分通常...原创 2019-01-02 17:04:41 · 202 阅读 · 0 评论 -
设计模式(三)----单例模式
简介单例模式(Singleton Pattern),可以说是Java当中最耳熟能详的一种设计模式,也是最简单的一种设计模式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时要确保只有一个对象被创建。这个类提供了访问该类对象的唯一的一种方式,就是通过该类对外的接口来访问。注:单例类只能有一个实例,并且只能自己创建该实例,同时也必须给其他所有对象提供该实例。意图:保证一个类只有一个实例,...原创 2019-01-02 14:46:45 · 167 阅读 · 0 评论 -
设计模式(二)----工厂模式和抽象工厂模式
工厂模式简介工厂模式(Factory Pattern)是Java中最常用的设计模式之一。它提供了一种创建对象的最佳方式。在工厂模式中,在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:接口选择问题。何时使用:明确地计划不同条件下创建不同实例时。...原创 2018-12-26 18:14:03 · 194 阅读 · 0 评论 -
设计模式(一)----设计模式简介
前言当下,计算机行业的发展达到了一个前所未有的高度,大数据、人工智能、区块链。。。我现在走的路,不知已被多少前辈走过。我们或许不知道未来会发展成什么样,作为一个编程菜鸟,当脚踏实地,一步一个脚印,不断学习,希望在计算机领域今后的发展过程中,能有我的一份力量。到现在为止,网络上关于设计模式的优秀文章数不胜数,最近想系统学习一下设计模式,之所以写关于设计模式的文章,主要原因就是给自己的学习做一个总...原创 2018-12-26 16:37:17 · 274 阅读 · 0 评论