
设计模式
熟悉巩固设计模式
每天都要加油鸭!
这个作者很懒,什么都没留下…
展开
-
20、解释器模式
这个模式真是不太好理解,比较复杂,我在看来这篇文章后才有了简单的了解,https://www.cnblogs.com/java-my-life/archive/2012/06/19/2552617.html,就按照这位大佬的思路,自己也记录一下吧。1、简介解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。解释器模式的结构:模式所涉及的角色如下所示:抽象表达式(Expression)角色:声明转载 2020-11-20 11:44:20 · 209 阅读 · 0 评论 -
19. 迭代器模式
1、简介原创 2020-11-13 16:10:02 · 96 阅读 · 0 评论 -
18、中介者模式
1、简介中介者模式,定义了一个中介对象来封装一系列对象之间的交互关系。中介者使各个对象之间不需要显式地相互引用,从而使耦合性降低,而且可以独立地改变它们之间的交互行为。定义其实也好理解。这里拿一个例子做比较,我们现在使用的QQ、微信等平台,就是中介者,用户可以登录这些平台同其他用户进行交流,平台来维持不同用户之间的关系,而不是每一个用户主动去维持同其他用户的关系,这差不多就是中介者模式的意思。Mediator:抽象中介者角色,定义了同事对象到中介者对象的接口,一般以抽象类的方式实现。Concre原创 2020-10-19 13:34:28 · 257 阅读 · 0 评论 -
17. 备忘录模式
1、简介定义:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样,以后就可以将该对象恢复到原先保存的状态。备忘录模式有三个角色Originator :负责创建一个备忘录,可以记录、恢复自身的内部状态。同时Originator还可以根据需要决定Memento存储自身的那些内部状态。通俗点说就是原始数据对象,内部可以创建一个可以记录当前对象的备忘录对象,还有一个可以通过备忘录实例恢复数据的方法。Memento : 备忘录对象,用于存储Originator的内部状态,即需要原创 2020-10-14 14:55:07 · 154 阅读 · 0 评论 -
16、观察者模式
1、简介原创 2020-09-27 15:51:44 · 135 阅读 · 0 评论 -
15、状态模式
1、简介原创 2020-09-23 14:26:15 · 139 阅读 · 0 评论 -
14、建造者模式
1、简介原创 2020-09-09 10:35:02 · 123 阅读 · 0 评论 -
13、模板模式
1、简介定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。简单点说就是说把一些公共的方法提取到抽象类中,并定义实现顺序,一些具体的细节则由子类实现。使用场景重要,复杂的方法,例如框架的骨架;有多个子类共有方法,且逻辑相同。2、具体实现//定义抽象方法,提取公共方法,并让具体的细节让子类实现abstract class WorkTemplate{ public final void first(){原创 2020-09-03 16:32:53 · 136 阅读 · 0 评论 -
12、访问者模式
1、简介原创 2020-09-03 14:33:01 · 177 阅读 · 0 评论 -
11、代理模式
1、简介原创 2020-08-04 17:33:17 · 139 阅读 · 0 评论 -
10、享元模式
1、简介原创 2020-07-13 14:45:06 · 165 阅读 · 0 评论 -
9、外观模式
1、简介**外观模式是隐藏了系统的复杂性,能够为子系统中的一组接口提供一个统一的接口。**客户在使用系统时不必和子系统打交道了,降低了客户和子系统间的耦合。角色组成:1、门面角色(facade):这是外观模式的核心。它被客户角色调用,因此它熟悉子系统的功能。它内部根据客户角色已有的需求预定了几种功能组合。2、子系统角色(SystemA、SystemB、SystemC):实现了子系统的功能。对子系统角色来说,facade角色与客户角色一样,是未知的,它没有任何facade角色的信息和链接。3、客户原创 2020-07-13 11:08:47 · 133 阅读 · 0 评论 -
8、装饰者模式
1、简介原创 2020-07-09 18:31:58 · 142 阅读 · 0 评论 -
7、组合模式
*1、简介组合模式(又称“部分-整体”模式)是一种结构型设计模式。组合模式的思想是:将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。角色构成:Component : 组合中所有具体组件的抽象接口,用于规范组件的属性和行为,相当于树的节点(Node)。Composite :组合中每个具体的组件,相当于树的枝节点。Leaf :位于未端面的具体组件,没有子节点,相当于树的叶子节点。使用场景:1、你想表示对象的部分-整体层次结构,如树形菜单,文原创 2020-07-03 13:47:29 · 2691 阅读 · 0 评论 -
6、桥接模式
1、简介原创 2020-07-03 11:38:42 · 103 阅读 · 0 评论 -
5、适配器模式
以前写代码总是从别处学到的,认为写那种web项目就应该是dao,service,controller三层结构(这里只拿这种简单的例子来说),但是今天看完适配器模式时,可以想到这种代码结构也是符合适配器模式的,service接口层就是目标角色,dao层就是源角色,而在sevices接口实现层中,也就是各种impl中,我们调用dao的类,把从dao的类再经过变换,得到我们想要的结果,这不就正好符合适配的思想吗,我们没法直接从原接口中得到想要的结果,只好把原接口经过适配,转换成我们想要的结果,并返回。这只是我个.原创 2020-06-30 11:14:50 · 173 阅读 · 1 评论 -
4、原型模式
1、简介原型模式(Prototype Pattern)用于创建重复的对象,同时又能保证性能。它属于创建型设计模式,它提供了一种创建对象的最佳方法。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。在需要短时间创建大量的对象和创建对象很耗时的情况下,原型模式比通过new对象大大提高了时间效率。使用场景;原创 2020-06-18 17:55:54 · 107 阅读 · 0 评论 -
3、策略模式
1、定义原创 2020-06-17 17:55:44 · 156 阅读 · 0 评论 -
2、工厂模式
JAVA中的工厂模式也是一个重要的知识点,它除了在面试中问的比较多以外,这种模式的思想也是值得我们去学习的。看了很多博客,大致的说法就是三类 简单工厂、工厂方法、抽象工厂,下面我们一一进行介绍,最后,我们再分析三种模式的区别。一 、简单工厂模式二、工厂方法模式三、抽象工厂模式...原创 2020-06-12 18:06:14 · 126 阅读 · 0 评论 -
1、单例模式
单例模式,简而言之,就是在整个应用程序当中只能有一个实例,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。特点类构造器私有持有自己类型的属性对外提供获取实例的静态方法优点:1.在单例模式中,.原创 2020-06-09 17:15:02 · 377 阅读 · 0 评论 -
设计模式列表
前一段时间转正述职,问到关于java设计模式的问题,回答的不是太好,以前也了解过java的设计模式,但是可能就只是为了应付面试吧,总是容易忘,但是现在已经工作了,应该摆正心态,以提高自己为目的来学习java的设计模式。今天刚开始写博客,所以,我决定先把常用的设计模式列出来,然后根据这个列表一个个去学习。单例模式工厂方法模式 抽象工厂模式建造者模式原型模式适配器模式桥接模式组合模式装饰模式外观模式享元模式代理模式访问者模式模板模式策略模式状态模式观察者模式备忘..原创 2020-06-09 16:04:18 · 119 阅读 · 0 评论