E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
JAVA设计模式
JAVA设计模式
之观察者模式
文章目录一、观察者模式简介二、观察者模式的结构三、观察者模式角色与职责四、观察者模式的具体实现1、不使用观察者模式2、使用观察者模式接口设计实现类设计五、Java内置观察者模式1、类Observable类方法2、接口Observer接口方法3、内置观察者实现六、Observer模式的典型应用要抱抱才会开心呀~~~~~~~~~~~一、观察者模式简介Observer模式是行为模式之一,它的作用是当一个
双子座的独居
·
2018-11-27 15:50
Java设计模式
Java设计模式
-外观模式
1、外观模式的概念外观模式(Facade),可以理解为,为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。通俗一点讲,比如我们去拿闲钱理财,可能我们自己初入理财,不大懂,就会跟风入手多种产品:股票、国债、房地产等等。我们需要了解每个产品的情况,需要我们参与这些产品的具体买和卖,所以耦合性很高。而如果我们找一个理财机构,让理财经理替我们打理,理财经
钢镚koala
·
2018-11-23 16:20
java策略模式与Spring整合
java策略模式与Spring整合2017年07月28日17:19:53苹果树上的你阅读数:490标签:
java设计模式
策略模式策略模式与Sprin更多个人分类:
java设计模式
java设计模式
有很多种
javaPie
·
2018-11-23 14:36
设计模式
Java设计模式
之享元模式
版权声明:本文出自汪磊的博客,转载请务必注明出处。设计模式系列与数据结构算法系列为本人知识的梳理,大体上没有什么新玩意,都是前人们工作经验的结晶,好了,不啰嗦了,基础的重要性懂得自然懂。等这两个系列总结完在写框架方面的,好的框架必然包含一种或多种设计模式与数据结构。一、享元模式享元模式解决的就是在有大量对象时,有可能会造成内存溢出,如果有相同的业务请求,直接返回在内存中已有的对象,避免重新创建,说
WangLei_ClearHeart
·
2018-11-22 10:00
浅谈
Java设计模式
——总体概要(GeneralOverview——Table Of Contents)
一、什么是设计模式设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理
IdealSpring
·
2018-11-20 16:59
设计模式
总篇概要
目录
Java实现
JAVA基础
设计模式
浅谈
Java设计模式
——访问者模式(Visitor)
一、概述表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作,一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。为不同类型的元素提供多种访问操作方式,且可以在不修改原有系统的情况下增加新的操作方式。同时我们还需要明确一点那就是访问者模式是适用于那些数据结构比较稳定的,因为他是
IdealSpring
·
2018-11-20 16:50
JAVA基础
设计模式
Java设计模式
- 单例模式
Java设计模式
-单例模式保证一个类仅有一个实例,并提供一个可以访问它的全局变量。
R812656252
·
2018-11-20 14:41
Data
Pattern
浅谈
Java设计模式
——职责链模式(Chain Of Responsibility)
一、概述使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。这一模式的想法是,给多个对象处理一个请求的机会,从而解耦发送者和接受者。职责链模式描述的请求如何沿着对象所组成的链来传递的。它将对象组成一条链,发送者将请求发给链的第一个接收者,并且沿着这条链传递,直到有一个对象来处理它或者直到最后也没有对象处理而
IdealSpring
·
2018-11-20 13:36
JAVA基础
设计模式
浅谈
Java设计模式
——状态模式(State)
一、概述定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。在很多情况下我们对象的行为依赖于它的一个或者多个变化的属性,这些可变的属性我们称之为状态,也就是说行为依赖状态,即当该对象因为在外部的互动而导致他的状态发生变化,从而它的行为也会做出相应的变化。对于这种情况,我们是不能用行为来控制状态的变化,而应该站在状态的角度来思考行为,即是什么状态就
IdealSpring
·
2018-11-19 21:38
JAVA基础
设计模式
浅谈
Java设计模式
——解释器模式(Interpreter)
一、概述给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。解释器模式描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发的编译器中。它描述了如何为简单的语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子。二、使用场景当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。而当存在以下情况
IdealSpring
·
2018-11-19 20:27
JAVA基础
设计模式
浅谈
Java设计模式
——备忘录模式(Memento)
一、概述在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。它实现了对信息的封装,使得客户不需要关心状态保存的细节。保存就要消耗资源,所以备忘录模式的缺点就在于消耗资源。如果类的成员变量过多,势必会占用比较大的资源,而且每一次保存都会消耗一定的内存。二、使用场景1.必须保存一个对象在某一个时刻的(部分)状态,这样以后需要时它才能恢复
IdealSpring
·
2018-11-19 17:26
设计模式
备忘录模式
java实现
JAVA基础
设计模式
浅谈
Java设计模式
——中介者模式(Mediator)
一、概述用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介对象用来封装对象之间的关系,各个对象可以不需要知道具体的信息通过中介者对象就可以实现相互通信。它减少了对象之间的互相关系,提供了系统可复用性,简化了系统的结构。各个对象不需要互相知道了解,他们只需要知道中介者对象即可,但是中介者对象就必须要知道所有的对象和他们之
IdealSpring
·
2018-11-19 15:34
JAVA基础
设计模式
Java设计模式
--单例模式
Java设计模式
--单例模式详解一、单例模式的定义单例模式确保某个类只有一个实例,而且自行实例化并向整个提供提供这个实例。
qq_29761835
·
2018-11-18 23:42
浅谈
Java设计模式
——观察者模式(Observer)
一、概述定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。观察者模式定义了对象之间的一对多依赖关系,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并且自动更新。在这里,发生改变的对象称之为观察目标,而被通知的对象称之为观察者。一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,所以么可以根据需要增加和删除观察者,使得系统
IdealSpring
·
2018-11-18 19:12
JAVA基础
设计模式
java设计模式
精讲 Debug 方式+内存分析 第3章 软件设计七大原则
软件设计七大原则3-1本章导航3-2开闭原则讲解3-3开闭原则coding3-4依赖倒置原则讲解+coding3-5单一职责原则讲解3-6单一职责原则coding3-7接口隔离原则讲解+coding3-8迪米特法则讲解+coding3-9里氏替换原则讲解3-10里氏替换原则coding3-11合成复用原则讲解+coding3-1本章导航3-2开闭原则讲解实现开闭原则的核心思想就是面向抽象编程而不是
越努力越幸运-致自己
·
2018-11-18 00:00
Java设计模式精讲
浅谈
Java设计模式
——迭代器模式(Iterator)
一、概述给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。二、使用场景1.访问一个聚合对象的内容而无需暴露它的内部表示。2.支持对聚合对象的多种遍历。3.为遍历不同的聚合结构提供一个统一的接口(即,支持多态迭代)。三、参与者1.Iterator迭代器定义访问和遍历元素的接口。2.ConcreteIterator具体迭代器实现迭代器接口。对该聚合遍历时跟
IdealSpring
·
2018-11-16 21:25
JAVA基础
设计模式
浅谈
Java设计模式
——命令模式(Command)
一、概述将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。有些时候我们想某个对象发送一个请求,但是我们并不知道该请求的具体接收者是谁,具体的处理过程是如何的,们只知道在程序运行中指定具体的请求接收者即可,对于这样将请求封装成对象的我们称之为命令模式。所以命令模式将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。同时命
IdealSpring
·
2018-11-16 20:06
JAVA基础
设计模式
浅谈
Java设计模式
——模板方法模式(TemplateMethod)
一、概述定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。有些时候我们做某几件事情的步骤都差不多,仅有那么一小点的不同,在软件开发的世界里同样如此,如果我们都将这些步骤都一一做的话,费时费力不讨好。所以我们可以将这些步骤分解、封装起来,然后利用继承的方式来继承即可,当然不同的可以自己重写实现嘛!这就是模
IdealSpring
·
2018-11-16 19:40
JAVA基础
设计模式
Java设计模式
-单例模式、观察者模式、工厂模式
单例设计模式概念:全局只有一个实例,自行实例化对象,自行向整个系统提供这个实例。应用场景:需要全局只有一个实例的时候,如保存用户信息。只有一个访问途径优点:全局只有一个实例,避免了频繁的创建实例,耗费的资源。提供了对唯一实例的受控访问。允许改变数目的实例。缺点:单例模式没有抽象层,因此单例类扩展困难。单例职责过重。滥用单例可能造成其他问题,例如:持有上下文无法释放造成内存泄漏;实例化的对象长期未被
MarinaTsang
·
2018-11-16 16:54
Java
设计模式
单例设计模式
工厂设计模式
观察者设计模式
Java
浅谈
Java设计模式
——享元模式(Flyweight)
一、概述运用共享技术有效地支持大量细粒度的对象。在一个系统中对象会使得内存占用过多,特别是那些大量重复的对象,这就是对系统资源的极大浪费。享元模式对对象的重用提供了一种解决方案,它使用共享技术对相同或者相似对象实现重用。享元模式就是运行共享技术有效地支持大量细粒度对象的复用。系统使用少量对象,而且这些都比较相似,状态变化小,可以实现对象的多次复用。这里有一点要注意:享元模式要求能够共享的对象必须是
IdealSpring
·
2018-11-16 16:05
设计模式
享元模式
java实现
JAVA基础
设计模式
浅谈
Java设计模式
——外观模式(facade)
一、概述为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。我们都知道类与类之间的耦合越低,那么可复用性就越好,如果两个类不必彼此通信,那么就不要让这两个类发生直接的相互关系,如果需要调用里面的方法,可以通过第三者来转发调用。外观模式非常好的诠释了这段话。外观模式提供了一个统一的接口,用来访问子系统中的一群接口。它让一个应用程序中子系统间
IdealSpring
·
2018-11-15 20:38
JAVA基础
设计模式
浅谈
Java设计模式
——组合模式(Composite)
一、概述将对象组合成树形结构以表示"部分-整体"的层次结构。"Composite使得用户对单个对象和组合对象的使用具有一致性。它定义了如何将容器对象和叶子对象进行递归组合,使得客户在使用的过程中无须进行区分,可以对他们进行一致的处理。在使用组合模式中需要注意一点也是组合模式最关键的地方:叶子对象和组合对象实现相同的接口。这就是组合模式能够将叶子节点和对象节点进行一致处理的原因。虽然组合模式能够清晰
IdealSpring
·
2018-11-15 19:35
JAVA基础
设计模式
浅谈
Java设计模式
——适配器模式(Adapter)
一、概述将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。在我们的应用程序中我们可能需要将两个不同接口的类来进行通信,在不修改这两个的前提下我们可能会需要某个中间件来完成这个衔接的过程。这个中间件就是适配器。所谓适配器模式就是将一个类的接口,转换成客户期望的另一个接口。它可以让原本两个不兼容的接口能够无缝完成对接。作为中间件的适
IdealSpring
·
2018-11-13 21:16
JAVA基础
设计模式
浅谈
Java设计模式
——桥接模式(Bridge)
一、概述将抽象部分与它的实现部分分离,使它们都可以独立地变化。如果说某个系统能够从多个角度来进行分类,且每一种分类都可能会变化,那么我们需要做的就是讲这多个角度分离出来,使得他们能独立变化,减少他们之间的耦合,这个分离过程就使用了桥接模式。所谓桥接模式就是讲抽象部分和实现部分隔离开来,使得他们能够独立变化。桥接模式将继承关系转化成关联关系,封装了变化,完成了解耦,减少了系统中类的数量,也减少了代码
IdealSpring
·
2018-11-13 20:48
JAVA基础
设计模式
浅谈
Java设计模式
——策略模式(Strategy)
一、概述定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。策略模式就是定义了算法族,分别封装起来,让他们之前可以互相转换,此模式然该算法的变化独立于使用算法的客户。在策略模式中它将这些解决问题的方法定义成一个算法群,每一个方法都对应着一个具体的算法,这里的一个算法我就称之为一个策略。虽然策略模式定义了算法,但是它并不提供算法的选择,即什么算法对
IdealSpring
·
2018-11-13 19:26
JAVA基础
设计模式
浅谈
Java设计模式
——代理模式(Proxy)
一、概述为其他对象提供一种代理以控制对这个对象的访问。代理模式就是给一个对象提供一个代理,并由代理对象控制对原对象的引用。它使得客户不能直接与真正的目标对象通信。代理对象是目标对象的代表,其他需要与这个目标对象打交道的操作都是和这个代理对象在交涉。代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了的作用和保护了目标对象的,同时也在一定程度上面减少了系统的耦合度。二、使用场景1.远程访问:
IdealSpring
·
2018-11-13 16:31
JAVA基础
设计模式
浅谈
Java设计模式
——装饰模式(Decorator)
一、概述动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。二、使用场景1.在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。2.处理那些可以撤消的职责。3.当不能采用生成子类的方法进行扩充时。三、参与者1.Component定义一个对象接口,可以给这些对象动态地添加职责。2.ConcreteComponent定义一个对象,可以给这个对象添
IdealSpring
·
2018-11-12 20:14
JAVA基础
设计模式
浅谈
Java设计模式
——原型模式(Prototype)
一、概述用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。二、使用场景1.当一个系统应该独立于它的产品创建、构成和表示时。2.当要实例化的类是在运行时刻指定时,例如,通过动态装载。3.为了避免创建一个与产品类层次平行的工厂类层次时。4.当一个类的实例只能有几个不同状态组合中的一种时。在我们应用程序可能有某些对象的结构比较复杂,但是我们又需要频繁的使用它们,如果这个时候我们来不断的新建
IdealSpring
·
2018-11-12 14:37
JAVA基础
设计模式
浅谈
Java设计模式
——建造者模式(Builder)
一、概述将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式将复杂产品的构建过程封装分解在不同的方法中,使得创建过程非常清晰,能够让我们更加精确的控制复杂产品对象的创建过程,同时它隔离了复杂产品对象的创建和使用,使得相同的创建过程能够创建不同的产品。但是如果某个产品的内部结构过于复杂,将会导致整个系统变得非常庞大,不利于控制,同时若几个产品之间存在较大的差异,则不适
IdealSpring
·
2018-11-12 12:48
JAVA基础
设计模式
Java设计模式
- 装饰器模式(一)
结构型模式——装饰器模式概念:将多件服饰组装好,再一次性穿上去。代码:packagecom.lux.dec;publicclassPerson{privateStringname;publicPerson(){}publicPerson(Stringname){this.name=name;}publicvoidshow(){System.out.println("装扮的"+name);}}pac
Lux_Sun
·
2018-11-12 12:42
#
Java
#
设计模式
java设计模式
之享元模式
面向对象可以非常方便的解决一些扩展性的问题,但是在这个过程中系统务必会产生一些类或者对象,如果系统中存在对象的个数过多时,将会导致系统的性能下降。对于这样的问题解决最简单直接的办法就是减少系统中对象的个数。享元模式提供了一种解决方案,使用共享技术实现相同或者相似对象的重用。也就是说实现相同或者相似对象的代码共享。一、模式定义所谓享元模式就是运行共享技术有效地支持大量细粒度对象的复用。系统使用少量对
FOR EVER
·
2018-11-11 15:56
JAVA
浅谈
Java设计模式
——抽象工厂模式(AbstractFactory)
一、对比简单工厂模式、工厂方法模式简单工厂模式只通过一个工厂类,通过给定参数返回相应的实例对象。工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。普通工厂产出是一个产品(实例),抽象工厂产出是一个抽象(接口)二、概述提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。三、使用场景为什么工厂模式是如
IdealSpring
·
2018-11-11 13:59
JAVA基础
设计模式
浅谈
Java设计模式
——工厂方法模式(FactoryMethod)
一、概述定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。二、使用场景1.当一个类不知道它所必须创建的对象的类的时候。2.当一个类希望由它的子类来指定它所创建的对象的时候。3.当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。三、类图四、实现代码Operation抽象类:/***运算
IdealSpring
·
2018-11-10 21:47
JAVA基础
设计模式
浅谈
Java设计模式
——简单工厂模式(SimpleFactory)
一、定义通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。二、类图三、理解Operation为抽象类,它定义了一个抽象方法getResult;OperationAdd和OperationSubtraction两个类为Operation的子类,实现了它的getResult方法,OperationAdd为加法类,OperationSubtraction为减法类。四、代码实现O
IdealSpring
·
2018-11-10 18:00
JAVA基础
设计模式
浅谈
Java设计模式
——单例模式(SingleCase)
一、概述单例模式主要是为了避免因为创建了多个实例造成资源的浪费,且多个实例由于多次调用容易导致结果出现错误,而使用单例模式能够保证整个应用中有且只有一个实例。二、定义定义:只需要三步就可以保证对象的唯一性(1)不允许其他程序用new对象(2)在该类中创建对象(3)对外提供一个可以让其他程序获取该对象的方法对比定义:(1)私有化该类的构造函数(2)通过new在本类中创建一个本类对象(3)定义一个公有
IdealSpring
·
2018-11-09 19:55
JAVA基础
设计模式
java设计模式
精讲Debug方式+内存分析
java设计模式
精讲Debug方式+内存分析设计模式是工程师必备知识,也是面试高频考点。
hudanjun17
·
2018-11-08 00:00
Java设计模式
-单例模式(二)单例模式类
饿汉式单例类饿汉式单例类在加载时单例对象已经被创建。代码如下:/***懒汉式单例*@Author:Rick*@Date:2018/10/3117:44*/publicclassEagerSingleton{privatestaticEagerSingletoneagerSingleton=newEagerSingleton();privateEagerSingleton(){};publicsta
James_JR10
·
2018-11-07 18:06
Java
设计模式
Java设计模式
——Singleton单例模式
Singleton单例模式根据产生时机不同,可分为如下三类:(1)懒汉式(2)饿汉式(3)登记式在
Java设计模式
中,单例模式相对来说算是比较简单的一种构建模式。
莫问以
·
2018-11-07 14:37
Java设计模式
之行为型:解释器模式
一、什么是解释器模式:解释器模式,就是定义语言的文法,并建立一个解释器来解释该语言中的句子,通过构建解释器,解决某一频繁发生的特定类型问题实例。这里我们将语言理解成使用规定格式和语法的代码解释器模式描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发的编译器中,它描述了如何为简单的语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子。例如我们经常利用正则表达式检测某些字
张维鹏
·
2018-11-05 16:51
Java设计模式
解释器模式
行为型模式
设计模式
面试
Java
Java设计模式
之行为型:访问者模式
背景:去医院看病时,医生会给你一个处方单要你去拿药,拿药我们可以分为两步走:(1)去柜台交钱,划价人员会根据处方单上的药进行划价,交钱。(2)去药房拿药,药房工作者同样根据处方单给你相对应的药。这里我们就划价和拿药两个步骤进行讨论,这里有三个类,处方单(药)、划价人员、药房工作者。同时划价人员和药房工作者都各自有一个动作:划价、拿药。这里进行最初步的设计如下:划价人员:publicclassCha
张维鹏
·
2018-11-05 00:50
Java设计模式
访问者模式
行为型模式
设计模式
面试
java
二十一
Java设计模式
解析(责任链模式)
1️⃣概念定义:为请求创建一个接收此次请求对象的链;类型:行为型;2️⃣适用场景一个请求的处理需要多个对象当中的一个或几个协作处理;3️⃣优点对请求的发送者和接收者进行解耦;责任链可以动态的组合;4️⃣缺点如果责任链太长或者处理时间太长都会影响性能;责任链有可能过多;5️⃣责任链模式Coding1创建Course类publicclassCourse{privateStringname;privat
十丈_红尘
·
2018-11-04 18:08
Java设计模式
(十九)之行为型模式:备忘录模式
一、模式定义:备忘录模式,就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以在以后将对象恢复到原先保存的状态。备忘录模式将要保存的细节给封装在备忘录中,就是哪天要改变保存的细节也不会影响到客户端。我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误删除了几行代码),我
a745233700
·
2018-11-04 12:08
Java设计模式
Spring Cloud 2.x系列之网关zuul入门(一)
java设计模式
之观察者模式一大波视频分享Mysql代理中间件Atlas安装和配置基于Spring的微服务结点在能力上没有高低贵贱之分,但是在角色上会分为边缘服务和内部服务两部分。
huangjinjin520
·
2018-11-04 11:07
Java设计模式
之行为型:责任链模式
背景:学校规定参加校招的同学必须要请假,且要有相关人员的签字,三天以下需辅导员签字、三到七天需要系主任签字,一个星期以上需要院长签字,更多的则需要校长签字!上图将学生、辅导员、系主任、院长、校长组成了一个简单的链,在这个链上,学生是申请者,其余的都是请求处理者。对于这种将请求一级一级地往上传递直到请求被处理的设计模式就是职责链模式。一、什么是责任链模式:职责链可以将请求的处理者组织成一条链,并将请
张维鹏
·
2018-11-03 22:46
Java设计模式
责任链模式
面试
设计模式
Java设计模式
之行为型:迭代器模式
一、什么是迭代器模式:实际开发中,我们针对不同的需求,可能需要以不同的方式来遍历整个整合对象,但我们不希望在集合容器的抽象接口层中充斥着各种不同的遍历操作,这时候我们就需要一种能完成下面功能的迭代器:(1)遍历一个集合对象(2)不需要了解聚合对象的内部结构(3)提供多种不同的遍历方式迭代器模式提供一种访问集合中的各个元素,而不暴露其内部表示的方法。将在元素之间游走的职责交给迭代器,而不是集合对象,
张维鹏
·
2018-11-03 21:39
Java设计模式
迭代子模式
行为型模式
设计模式
面试
Java
最新
Java设计模式
深入讲解分析
最新
Java设计模式
深入讲解分析目录├─第一篇1-1课程导学/r7v5r#\4D├─第二篇UML入门├─第三篇软件设计七大原则├─第四篇简单工程讲解;z(O#}5s}:R├─第五篇工厂方法模式讲解.i$
promote1234
·
2018-11-03 11:38
Java设计模式
之行为型:观察者模式
一、什么是观察者模式:观察者模式又称为发布-订阅模式,定义了对象之间一对多依赖关系,当目标对象(被观察者)的状态发生改变时,它的所有依赖者(观察者)都会收到通知。一个观察目标可以对应多个观察者,而这些观察者之间没有相互联系,所以能够根据需要增加和删除观察者,使得系统更易于扩展,符合开闭原则;并且观察者模式让目标对象和观察者松耦合,虽然彼此不清楚对方的细节,但依然可以交互,目标对象只知道一个具体的观
张维鹏
·
2018-11-02 23:56
Java设计模式
观察者模式
设计模式
面试
行为型模式
java
Java设计模式
之行为型:模板方法模式
一、什么是模板方法模式:模板方法是基于继承实现的,在抽象父类中声明一个模板方法,并在模板方法中定义算法的执行步骤(即算法骨架)。在模板方法模式中,可以将子类共性的部分放在父类中实现,而特性的部分延迟到子类中实现,只需将特性部分在父类中声明成抽象方法即可,使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤,不同的子类可以以不同的方式来实现这些逻辑。模板方法模式的优点在于符合“开闭原则”,
张维鹏
·
2018-11-02 22:39
Java设计模式
模板方法模式
面试
设计模式
Java设计模式
之行为型:策略模式
一、背景:在开发中经常遇到这种情况,实现某个功能有多种算法策略,我们可以根据不同环境或者条件选择不同的算法策略来完成该功能,比如查找、排序等,一种常用方式是硬编码在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;当然也可以将这些查找算法封装在一个统一的方法中,通过if-else或者case等条件判断语句来进行选择。但是如果需要增
张维鹏
·
2018-11-02 21:37
Java设计模式
策略模式
面试
设计模式
Java设计模式
之结构型:享元模式
一、什么是享元模式:享元模式通过共享技术有效地支持细粒度、状态变化小的对象复用,当系统中存在有多个相同的对象,那么只共享一份,不必每个都去实例化一个对象,极大地减少系统中对象的数量。比如说一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一个对象,那
张维鹏
·
2018-11-02 20:35
Java设计模式
享元模式
面试
设计模式
上一页
86
87
88
89
90
91
92
93
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他