【设计模式】
文章平均质量分 73
老汉健身
这个作者很懒,什么都没留下…
展开
-
【温故知新】-设计模式总结
前言:java一共有23种设计模式,其中常用的需要熟练掌握的大约有10种左右,剩余10几种了解即可,在合适的场景下使用设计模式不仅可以提供代码质量,对以后的代码维护和拓展也有很大好处.目录1.单例模式1.1什么是单例模式1.2单例模式的优势1.3单例模式的适用场景1.4单例模式的饿汉式和懒汉式1.5懒汉式的double-check2.工厂模式2.1什么是工厂模式2.2工厂模式的优势2.3工厂模式的适用场景2.4简单工厂模式和抽象工厂模式3...原创 2021-02-19 14:28:36 · 362 阅读 · 0 评论 -
【设计模式】-11监听者模式
目录1.什么是监听者模式2.监听者模式的组成(成员)3.代码实现4.思考1.什么是监听者模式监听者模式在现实中无处不在,举个常见的例子,我们经常在电影片段中看到,当信号侦察兵接收到上级下发的某个指令信号,会立即执行相应动作.在古代,亦有烽火台,当烽火台被点燃时,远处哨兵观察到烟雾后会立刻通知士兵开始防御外敌... 类似这种收到某个"信号"后立即做出相应反馈的,在编程领...原创 2019-10-16 16:26:43 · 1824 阅读 · 0 评论 -
【设计模式】-监听者模式和观察者模式的区别与联系
前言:监听者模式和观察者模式在平时开发中或在Spring源码中经常有碰到,两者乍看上去好像差不多,但为何会分为两种不同的设计模式?究竟是人性的扭曲还是道德的沦丧?让我们一起走进本篇,深入解析两者的异同和使用场景。目录1.介绍1.1监听者模式介绍1.2观察者模式介绍2.相同之处3.不同之处4.使用场景1.介绍1.1监听者模式介绍当范围对象的状态发生变化的...原创 2019-10-17 10:17:25 · 4224 阅读 · 3 评论 -
【设计模式】-10责任链模式
1.什么是责任链模式?责任链模式(Chain of Responsibility Pattern):责任链模式就是将请求的接收者对象连成一条链,然后在这一条链上传递请求,直到有个一接收者处理这个请求。通过这样一种方式,避免了请求者和接收者之间的耦合。说人话: 举个例子,小张来到政府办事大厅办营业执照,可以把小张办营业执照理解为一条请求,政府的办事人员理解为请求的处理者.由于近年来政府办...原创 2018-12-25 17:47:01 · 227 阅读 · 0 评论 -
【设计模式】-09观察者模式
1.什么是观察者模式? 定义:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新.举个栗子: 张三和李四准备上演一场抢劫银行的行动,张三负责抢劫,李四负责放哨,他们两约定,如果李四这边看到警察来就立即通知张三,张三收到通知后立马逃跑...在上面的例子中,张三的角色其实就是观察者,李四是被观察者.张三观察李四这边的状态,如果李四这边的状态发生改变...原创 2018-12-21 15:29:14 · 569 阅读 · 0 评论 -
【设计模式】-08适配器模式
1.什么是适配器模式?适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。举个现实生活中的例子,比如我们常见的电器插头,有三线的也有两线的,当遇到插头跟插座不匹配时我们一般需要通过一个转换头来解决,使原本不能正常使用的电器可以正常工作,java中的适配器模式与此类似.2.为什么要使用适配器模式在一些场景下,...原创 2018-12-11 17:02:06 · 235 阅读 · 0 评论 -
【设计模式】-07模板方法模式
1.什么是模板方法模式?模板方法模式抽象出一个模板,该模板中具有完成某项功能的算法骨架,模板中只对一些固定不变的算法做实现,其余的算法实现延迟到子类中去实现.举个生活中的例子,比如去银行办业务,一般需要以下几个步骤:①取号;②填写办理项目单据;③等待叫号;④窗口办理业务. 其中①,③,④这三个步骤是固定不变的,基本上99%的人去银行办业务都会经历这三个步骤,而且顺序不变,只有步骤②...原创 2018-11-16 15:38:18 · 217 阅读 · 0 评论 -
【设计模式】-06原型模式
1.什么是原型模式?原型模式是创建对象实例的一种方式,当一个对象需要被重复多次实例化时,可以考虑使用原型模式.原型模式通过创建出一个类的原型,然后调用这个原型对象的克隆方法,从而创建出跟该原型一毛一样的对象.在传统情况下,我们是通过new来创建对象实例,但如果该对象需要被多次实例化,且实例化后要对其设置一系列初始值时,这时候用传统的做法会降低效率,同时也违背了DRY(don't repea...原创 2018-11-15 16:41:34 · 193 阅读 · 0 评论 -
【设计模式】-03代理模式
1.什么是代理模式?百度百科:所谓的代理者是指一个类别可以作为其它东西的接口。代理者可以作任何东西的接口:网上连接、存储器中的大对象、文件或其它昂贵或无法复制的资源。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。代理模式在Java中十分常见,有为扩展某些类的功能而使用静态代理,也有如Spring实现AOP而使用动态代理...原创 2018-11-12 17:13:11 · 300 阅读 · 0 评论 -
【设计模式】-05策略模式
1.什么是策略模式?策略模式是将可变的部分从程序中抽象成算法接口,在该结构下分别封装一系列算法实现.比较典型的,可以拿大家都用过的美团来说,当大家在美团上开房进入到支付页面时,可以选择各种方式支付,比如美团支付,银联支付,支付宝支付,微信等...这里其实美团就把支付页面抽象成一个接口,具体的银联支付,支付宝支付,微信支付...交给对应的产商去实现其支付算法,美团在这里仅提供一个抽象的接口,...原创 2018-11-14 17:30:32 · 225 阅读 · 0 评论 -
【设计模式】-04委派模式
1.什么是委派模式?委派模式主要角色有三种: 抽象任务角色, 委派者角色, 具体任务角色. 实现层面上, 定义一个抽象接口, 它有若干实现类, 他们真正执行业务方法, 这些子类是具体任务角色; 定义委派者角色也实现该接口, 但它负责在各个具体角色实例之间做出决策, 由它判断并调用具体实现的方法. 委派模式对外隐藏了具体实现, 仅将委派者角色暴露给外部, 如Spring的DispatcherSe...原创 2018-11-14 10:22:57 · 280 阅读 · 0 评论 -
【设计模式】-02工厂模式
1.什么是工厂模式?继续援引百度百科定义:工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工...原创 2018-11-09 17:18:02 · 365 阅读 · 0 评论 -
【设计模式】-01单例模式
1.什么是单例模式?这里援引百度百科对单例模式的定义:单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例.说简单点就是运行系统中的每个对象最多只能有一个对应的实例.2.为什么要使用单例模式?主要是为了节省系统资源和确保系统中运行实例状态的唯一性,试想如果每个对象都拥...原创 2018-11-09 14:12:20 · 267 阅读 · 0 评论 -
【设计模式】-设计模式总目录
设计模式,重要性不多说了,之前在简书上简单总结过,这次再来总结一次,更详细版,以此加深印象和帮助理解.01.单例模式https://blog.csdn.net/lovexiaotaozi/article/details/8389657302.工厂模式https://blog.csdn.net/lovexiaotaozi/article/details/8389712103.代理模式...原创 2018-11-09 13:40:52 · 229 阅读 · 1 评论