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设计模式
之工厂模式(Factory)
前言: 前面学习了建造者设计模式,接下来学习一下Retrofit中使用的另外一个设计模式,工厂设计模式!!!里面采用工厂模式使得数据转换得到完全解耦,工厂模式的好处用到了极致,如此好的设计模式我们怎能不学习一下。工厂模式: 工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 1.)工厂模式分类:简单工厂模式(SimpleFactory)
总李编程
·
2016-05-30 15:00
Java设计模式
-建造者模式
建造者模式(Builder)定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,同时可以分步的构造每一部分。例:publicclassPerson{privateintid;privateintage;privateStringmobile;privateStringname;privateStringaddress;publicPerson(Builderbuilde
PhotiniaOsmanthus
·
2016-05-30 09:47
Java设计模式
(十二) 策略模式
原创文章,同步发自作者个人博客,http://www.jasongj.com/design_pattern/strategy/策略模式介绍策略模式定义策略模式(StrategyPattern),将各种算法封装到具体的类中,作为一个抽象策略类的子类,使得它们可以互换。客户端可以自行决定使用哪种算法。策略模式类图策略模式类图如下策略模式角色划分Strategy策略接口或者(抽象策略类),定义策略执行接
郭俊Jason
·
2016-05-30 07:00
Java设计模式
(十二) 策略模式
原创文章,转载请务必将下面这段话置于文章开头处。本文转发自Jason’sBlog,原文链接http://www.jasongj.com/design_pattern/strategy/策略模式介绍策略模式定义策略模式(StrategyPattern),将各种算法封装到具体的类中,作为一个抽象策略类的子类,使得它们可以互换。客户端可以自行决定使用哪种算法。策略模式类图策略模式类图如下策略模式角色划分
郭俊JasonGuo
·
2016-05-30 07:29
设计模式
java设计模式
java
跟着Jason学
设计模式
Java设计模式
(十二) 策略模式
原创文章,转载请务必将下面这段话置于文章开头处。本文转发自Jason’sBlog,原文链接http://www.jasongj.com/design_pattern/strategy/策略模式介绍策略模式定义策略模式(StrategyPattern),将各种算法封装到具体的类中,作为一个抽象策略类的子类,使得它们可以互换。客户端可以自行决定使用哪种算法。策略模式类图策略模式类图如下策略模式角色划分
Habren
·
2016-05-30 07:00
java
设计模式
java设计模式
JAVA设计模式
(01_1):创建型-工厂模式【工厂方法模式】(Factory Method)
工厂方法模式工厂方法模式 模式动机与定义 模式结构与分析 模式实例与解析 模式效果与应用 模式扩展 简单工厂模式的不足 在简单工厂模式中,只提供了一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类。简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,加入必要的处理逻辑,这违背了“开闭原则”。在简单工厂模式中,所有
qq_24729325
·
2016-05-28 10:00
java
java设计模式
工厂模式
Java设计模式
总结
一、创建型模式(CreationalPatterns)1.Builder(1)模式名称生成器模式 (2)意图及适用场景将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。以下情况适用Builder模式l 当创建复杂对象的算法应该独立于与该对象的组成部分以及他们的装配方式时。l 当构造过程必须被构造的对象有不同的表示时。 (3)结构 (4)实现//抽象产品类,使用了模板方法模式
u011545382
·
2016-05-27 19:00
java
设计模式
java设计模式
之策略模式
1、什么是策略模式? 策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 2、策略模式有什么好处? 策略模式的好处在于你可以动态的改变对象的行为。 3、设计原则 设计原则是把一个类中经常改变或者将来可能改变的部分提取出来,作为一个接口(c++z中可以用虚类),然后在类中包含这个对象的实例,这样
zmx729618
·
2016-05-27 14:00
设计模式
strategy
java动态代理jdk与cglib详细讲解
JAVA的动态代理代理模式代理模式是常用的
java设计模式
,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。
huihui_IT
·
2016-05-26 22:00
java动态代理
cglib动态代理
JDK动态代理
【51】
java设计模式
-工厂设计模式剖析
工厂设计设计模式的分类:工厂模式在《Java与模式》中分为三类:1)简单工厂模式(SimpleFactory):不利于产生系列产品;2)工厂方法模式(FactoryMethod):又称为多形性工厂;3)抽象工厂模式(AbstractFactory):又称为工具箱,产生产品族,但不利于产生新的产品;这三种模式从上到下逐步抽象,并且更具一般性。GOF在《设计模式》一书中将工厂模式分为两类:工厂方法模式
u010321471
·
2016-05-26 17:00
java
设计模式
面试
工厂模式
java设计模式
之组合模式
将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有唯一性涉及角色:1.Component是组合中的对象声明接口,在适当的情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component子部件。2.Leaf在组合中表示叶子结点对象,叶子结点没有子结点。3.Composite定义有枝节点行为,用来存储子部件,在Component接口中实
u011659172
·
2016-05-26 11:00
Java设计模式
之------值对象模式
值对象模式在Java开发时,需要来回交换大量的数据,比如要为方法传入参数,也要获取方法的返回值值对象的本质是“封装数据”。值对象模式在开发中用的很多,要熟练掌握。基本的编写步骤:第1步:写一个类,实现可序列化(如果以后数据是往数据库里存的,那么可以不序列化,节省资源)第2步:私有化所有属性,保持一个默认构造方法(public无参)第3步:为每个属性提供get()、set()方法(如果是boolea
x121850182
·
2016-05-24 13:00
java
java设计模式
值对象模式
Java设计模式
之------工厂模式
工厂模式场景和问题:Java开发讲究的是面向接口编程,需要通过一个工厂类隐藏具体的实现类先创建接口(接口在设计之初就要定好,开发过程中不允许随意改动接口):工厂类的命名规范:***Factory单例工厂方法的命名规范:getInstance()工厂的本质是“选择实现”工厂、接口和实现类之间的技术边界:工厂只负责选择实现,实现类才做真正的实现,而接口是限定到底实现什么东西和返回什么东西,三者之间分工
x121850182
·
2016-05-24 13:00
java
java设计模式
设计
工厂模式
Java设计模式
系列之观察者模式
观察者模式Observer的定义观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。第一部分这里有一个例子,是马士兵老师在讲解观察者模式的时候给出的例子,个人认为对理解观察者模式有很大的用处,自己查到的一些博文也写得很好,但是太过于一板一眼了,不便于去理解。具体的例子是这样的:一个小孩在睡觉,当
three_bird
·
2016-05-24 10:00
java设计模式
学习-代理模式
代理模式即ProxyPattern,23种java常用设计模式之一。代理模式的定义:对其他对象提供一种代理以控制对这个对象的访问。代理模式分类:1、远程代理(RemoteProxy)——为不同地理的对象提供局域网代表对象。(类似于客户端和服务器端)2、虚拟代理(VirtualProxy)——根据需要将资源消耗很大的对象进行延迟,真正需要的时候才进行创建。(网页中图片的加载,先用一张虚拟的图片进行显
感谢努力的自己
·
2016-05-24 09:17
java
《学习笔记》之
JAVA设计模式
--原型模式
在学习了厉风行老师的《设计模式系列课程》后为方便查看,对其内容进行整理:部分经典内容引用:点击打开链接:《JAVA与模式》之原型模式点击打开链接:
JAVA设计模式
之原型模式一、什么是原型模式Prototype
pengjunlee
·
2016-05-23 19:00
java
设计模式
java设计模式
原型模式
Java设计模式
(二):单例模式的5种实现方式,以及在多线程环境下5种创建单例模式的效率
这段时间从头温习设计模式。记载下来,以便自己复习,也分享给大家。packagecom.iter.devbox.singleton;/***饿汉式*@authorShearer**/publicclassSingletonDemo1{//类的静态成员变量只初始化一次,天然是线程安全的privatestaticfinalSingletonDemo1instance=newSingletonDemo1(
Lena-Yang
·
2016-05-23 12:59
JAVA
设计模式
《学习笔记》之
JAVA设计模式
--单例模式
在学习了厉风行老师的《设计模式系列课程》后为方便查看,对其内容进行整理:一、什么是单例模式单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。其实,GoF对单例模式的定义是:保证一个类只有一个实例存在,同时该类提供能对该实例加以访问的全局访问方法。二、为什么要使用单例模式呢?在应用系统开发中,我们常常有以下需求:-在
pengjunlee
·
2016-05-23 11:00
java
设计模式
java设计模式
java设计模式
学习-工厂模式
工厂模式概念:实例化对象,用工厂方法代替new操作。工厂模式包括工厂方法模式和抽象工厂模式。抽象工厂模式是工厂方法模式的扩展。工厂模式动机:在软件系统中经常面临着“对象”的创建工作,由于需求的变化,这个对象可能随之也会发生变化,但它却拥有比较稳定的接口。为此,我们需要提供一种封装机制来隔离出这个易变对象的变化,从而保持系统中其他依赖该对象的对象不随着需求变化而变化。工厂模式适合情况:有一组类似的对
感谢努力的自己
·
2016-05-20 19:03
java
Java设计模式
(四) 观察者模式
原创文章,转载请务必将下面这段话置于文章开头处。本文转发自Jason’sBlog,原文链接http://www.jasongj.com/design_pattern/observer/观察者模式介绍观察者模式定义观察者模式又叫发布-订阅模式,它定义了一种一对多的依赖关系,多个观察者对象可同时监听某一主题对象,当该主题对象状态发生变化时,相应的所有观察者对象都可收到通知。观察者模式类图观察者模式类图
Habren
·
2016-05-20 08:00
java
观察者模式
java设计模式
JAVA设计模式
(24):创建型-工厂模式【工厂方法模式】(Factory Method)
简单工厂模式虽然简单,但存在一个很严重的问题。当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背“开闭原则”,如何实现增加新产品而不影响已有代码?工厂方法模式应运而生,本文将介绍第二种工厂模式——工厂方法模式。1日志记录器的设计 Sunny软件公司欲开发一个系统运行日志记录器(Logger),该记录器可以通过多种途径保存系统
taozi8023
·
2016-05-19 22:00
java
设计模式
工厂方法模式
JAVA设计模式
(23):行为型-访问者模式(Visitor)
想必大家都去过医院,虽然没有人喜欢去医院(爱岗敬业的医务工作人员除外,)。在医生开具处方单(药单)后,很多医院都存在如下处理流程:划价人员拿到处方单之后根据药品名称和数量计算总价,药房工作人员根据药品名称和数量准备药品,如图1所示:在图1中,我们可以将处方单看成一个药品信息的集合,里面包含了一种或多种不同类型的药品信息,不同类型的工作人员(如划价人员和药房工作人员)在操作同一个药品信息集合时将提供
taozihk
·
2016-05-19 22:04
设计模式
JAVA设计模式
(23):行为型-访问者模式(Visitor)
想必大家都去过医院,虽然没有人喜欢去医院(爱岗敬业的医务工作人员除外,)。在医生开具处方单(药单)后,很多医院都存在如下处理流程:划价人员拿到处方单之后根据药品名称和数量计算总价,药房工作人员根据药品名称和数量准备药品,如图1所示: 在图1中,我们可以将处方单看成一个药品信息的集合,里面包含了一种或多种不同类型的药品信息,不同类型的工作人员(如划价人员和药房工作人员)在操作同一个药品信
taozi8023
·
2016-05-19 22:00
java
设计模式
访问者模式
JAVA设计模式
(22):行为型-解释器模式(Interpreter)
虽然目前计算机编程语言有好几百种,但有时候我们还是希望能用一些简单的语言来实现一些特定的操作,我们只要向计算机输入一个句子或文件,它就能够按照预先定义的文法规则来对句子或文件进行解释,从而实现相应的功能。例如提供一个简单的加法/减法解释器,只要输入一个加法/减法表达式,它就能够计算出表达式结果,如图1所示,当输入字符串表达式为“1+2+3–4+ 1”时,将输出计算结果为3。图1 加法/减法解释器
taozi8023
·
2016-05-19 22:00
java
设计模式
解释器模式
JAVA设计模式
(21):行为型-迭代器模式(Iterator)
20世纪80年代,那时我家有一台“古老的”电视机,牌子我忘了,只记得是台黑白电视机,没有遥控器,每次开关机或者换台都需要通过电视机上面的那些按钮来完成,我印象最深的是那个用来换台的按钮,需要亲自用手去旋转(还要使点劲才能拧动),每转一下就“啪”的响一声,如果没有收到任何电视频道就会出现一片让人眼花的雪花点。当然,电视机上面那两根可以前后左右移动,并能够变长变短的天线也是当年电视机的标志性部件之一,
taozi8023
·
2016-05-19 22:00
java
设计模式
迭代器模式
JAVA设计模式
(20):行为型-备忘录模式(Memento)
每个人都有过后悔的时候,但人生并无后悔药,有些错误一旦发生就无法再挽回,有些人一旦错过就不会再回来,有些话一旦说出口就不可能再收回,这就是人生。为了不后悔,凡事我们都需要三思而后行。说了这么多,大家可能已经晕了,不是在学设计模式吗?为什么弄出这么一堆人生感悟来,呵呵,别着急,本章将介绍一种让我们可以在软件中实现后悔机制的设计模式——备忘录模式,它是软件中的“后悔药”,是软件中的“月光宝盒”。话不多
taozi8023
·
2016-05-19 21:00
java
设计模式
备忘录模式
JAVA设计模式
(19):行为型-观察者模式(Observer)
观察者模式是设计模式中的“超级模式”,其应用随处可见,在之后几篇文章里,我将向大家详细介绍观察者模式。 “红灯停,绿灯行”,在日常生活中,交通信号灯装点着我们的城市,指挥着日益拥挤的城市交通。当红灯亮起,来往的汽车将停止;而绿灯亮起,汽车可以继续前行。在这个过程中,交通信号灯是汽车(更准确地说应该是汽车驾驶员)的观察目标,而汽车是观察者。随着交通信号灯的变化,汽车的行为也将随之而变化,
taozi8023
·
2016-05-19 20:00
java
设计模式
观察者模式
JAVA设计模式
(18):行为型-状态模式(State)
“人有悲欢离合,月有阴晴圆缺”,包括人在内,很多事物都具有多种状态,而且在不同状态下会具有不同的行为,这些状态在特定条件下还将发生相互转换。就像水,它可以凝固成冰,也可以受热蒸发后变成水蒸汽,水可以流动,冰可以雕刻,蒸汽可以扩散。我们可以用UML状态图来描述H2O的三种状态,如图1所示:图1H2O的三种状态(未考虑临界点) 在软件系统中,有些对象也像水一样具有多种状态,这些状态在某些情
taozi8023
·
2016-05-19 20:00
java
设计模式
状态模式
JAVA设计模式
(17):行为型-模板方法模式(Template Method)
1.模板方法模式概述 在现实生活中,很多事情都包含几个实现步骤,例如请客吃饭,无论吃什么,一般都包含点单、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点单-->吃东西-->买单。在这三个步骤中,点单和买单大同小异,最大的区别在于第二步——吃什么?吃面条和吃满汉全席可大不相同,如图1所示:图1 请客吃饭示意图 在软件开发中,有时也会遇到类似的情况,某个方法的实现需
taozi8023
·
2016-05-19 20:00
java
设计模式
模板方法
《学习笔记》之
JAVA设计模式
--抽象工厂模式
在学习了厉风行老师的《设计模式系列课程》后为方便查看,对其内容进行整理:一、什么是抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。此处引入了一个新的概念产品族,那什么是产品族呢?百度一下:产品族是以产品平台为基础,通过添加不同的个性模块,以满足不同客户个性化需求的一
pengjunlee
·
2016-05-19 19:00
java
java设计模式
工厂模式
《学习笔记》之
JAVA设计模式
--工厂方法模式
在学习了厉风行老师的《设计模式系列课程》后为方便查看,对其内容进行整理:一、什么是工厂方法模式 工厂方法模式同样属于类的创建型模式又被称为多态工厂模式。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂
pengjunlee
·
2016-05-19 14:00
java
java设计模式
工厂模式
JAVA设计模式
(16):行为型-策略模式(Strategy)
俗话说:条条大路通罗马。在很多情况下,实现某个目标的途径不止一条,例如我们在外出旅游时可以选择多种不同的出行方式,如骑自行车、坐汽车、坐火车或者坐飞机,可根据实际情况(目的地、旅游预算、旅游时间等)来选择一种最适合的出行方式。在制订旅行计划时,如果目的地较远、时间不多,但不差钱,可以选择坐飞机去旅游;如果目的地虽远、但假期长、且需控制旅游成本时可以选择坐火车或汽车;如果从健康和环保的角度考虑,而且
taozi8023
·
2016-05-19 13:00
java
java设计模式
策略模式
JAVA设计模式
(15):行为型-命令模式(Command)
装修新房的最后几道工序之一是安装插座和开关,通过开关可以控制一些电器的打开和关闭,例如电灯或者排气扇。在购买开关时,我们并不知道它将来到底用于控制什么电器,也就是说,开关与电灯、排气扇并无直接关系,一个开关在安装之后可能用来控制电灯,也可能用来控制排气扇或者其他电器设备。开关与电器之间通过电线建立连接,如果开关打开,则电线通电,电器工作;反之,开关关闭,电线断电,电器停止工作。相同的开关可以通过不
taozi8023
·
2016-05-19 12:00
java
设计模式
command
命令模式
JAVA设计模式
(14):行为型-中介者模式(Mediator)
腾讯公司推出的QQ作为一款免费的即时聊天软件深受广大用户的喜爱,它已经成为很多人学习、工作和生活的一部分(不要告诉我你没有QQ哦,)。在QQ聊天中,一般有两种聊天方式:第一种是用户与用户直接聊天,第二种是通过QQ群聊天,如图1所示。如果我们使用图1(A)所示方式,一个用户如果要与别的用户聊天或发送文件,通常需要加其他用户为好友,用户与用户之间存在多对多的联系,这将导致系统中用户之间的关系非常复杂,
taozi8023
·
2016-05-19 12:00
java
设计模式
中介者模式
实例解析观察者模式及其在
Java设计模式
开发中的运用
一、观察者模式(Observer)的定义:观察者模式又称为订阅―发布模式,在此模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来事件处理系统。1、观察者模式的一般结构首先看下观察者模式的类图描述:观察者模式的角色如下:Subject(抽象主题接口):定义了主题类中对观察者列表的一系列操作,包括增加,删
pastqing
·
2016-05-19 09:58
JAVA设计模式
(13):行为型-责任链模式(Responsibility)
“一对二”,“过”,“过”……这声音熟悉吗?你会想到什么?对!纸牌。在类似“斗地主”这样的纸牌游戏中,某人出牌给他的下家,下家看看手中的牌,如果要不起上家的牌则将出牌请求再转发给他的下家,其下家再进行判断。一个循环下来,如果其他人都要不起该牌,则最初的出牌者可以打出新的牌。在这个过程中,牌作为一个请求沿着一条链在传递,每一位纸牌的玩家都可以处理该请求。在设计模式中,我们也有一种专门用于处理这种请求
taozi8023
·
2016-05-19 09:00
java
设计模式
责任链模式
java设计模式
学习-单例模式
java设计模式
一共有23种,总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
感谢努力的自己
·
2016-05-19 09:01
java
JAVA设计模式
(12):结构型-门面模式(Facade)
外观模式是一种使用频率非常高的结构型设计模式,它通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度,且客户端调用非常方便。1.外观模式概述 不知道大家有没有比较过自己泡茶和去茶馆喝茶的区别,如果是自己泡茶需要自行准备茶叶、茶具和开水,如图1(A)所示,而去茶馆喝茶,最简单的方式就是跟茶馆服务员说想要一杯什么样的茶,是铁观音、
taozi8023
·
2016-05-18 22:00
java
设计模式
门面模式
JAVA设计模式
(11):结构型-装饰模式(Decorator)
尽管目前房价依旧很高,但还是阻止不了大家对新房的渴望和买房的热情。如果大家买的是毛坯房,无疑还有一项艰巨的任务要面对,那就是装修。对新房进行装修并没有改变房屋用于居住的本质,但它可以让房子变得更漂亮、更温馨、更实用、更能满足居家的需求。在软件设计中,我们也有一种类似新房装修的技术可以对已有对象(新房)的功能进行扩展(装修),以获得更加符合用户需求的对象,使得对象具有更加强大的功能。这种技术对应于一
taozi8023
·
2016-05-18 22:00
java
设计模式
装饰模式
《学习笔记》之
JAVA设计模式
--简单工厂模式
在学习了厉风行老师的《设计模式系列课程》后为方便查看,对其内容进行整理:一、什么是简单工厂模式简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。二、模式中包含的角色及其职责1.工厂(Creator)角色简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。2.抽象(Pro
pengjunlee
·
2016-05-18 10:00
java
设计模式
java设计模式
工厂模式
Java设计模式
之代理模式
综述代理模式(ProxyPattern)也称作为委托模式。在生活中我们也是处处可见,例如通过设置代理进行上网,委托律师来打官司,又或者是代理某个品牌来创业等等。而在开发中也是被经常被使用到的一种设计模式。对于代理模式的定义为:为其他对象提供一种代理以控制对这个对象的访问。对于代理模式可以分为两大类,分别是静态代理和动态代理。下面就开始对这两种类型的代理模式进行详细介绍。静态代理在这里通过一个场景来
ljd2038
·
2016-05-17 23:00
java
设计模式
JAVA设计模式
(10):结构型-组合模式(Composite)
树形结构在软件中随处可见,例如操作系统中的目录结构、应用软件中的菜单、办公系统中的公司组织结构等等,如何运用面向对象的方式来处理这种树形结构是组合模式需要解决的问题,组合模式通过一种巧妙的设计方案使得用户可以一致性地处理整个树形结构或者树形结构的一部分,也可以一致性地处理树形结构中的叶子节点(不包含子节点的节点)和容器节点(包含子节点的节点)。下面将学习这种用于处理树形结构的组合模式。 1设计杀毒
taozi8023
·
2016-05-17 16:00
java
设计模式
组合模式
JAVA设计模式
(09):结构型-代理模式(Proxy)
代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。根据代理模式的使用目的不同,代理模式又可以分为多种类型,例如保护代理、远程代理、虚拟代理、缓冲代理等,它们应用于不同的场合,满足用户的不同需求。1代理模式概述近年来,代购已逐步成为电子商务的一个重要分支。何谓代购
taozi8023
·
2016-05-17 16:00
java
设计模式
代理模式
JAVA设计模式
(08):结构型-享元模式(Flyweight)
当前咱们国家正在大力倡导构建和谐社会,其中一个很重要的组成部分就是建设资源节约型社会,“浪费可耻,节俭光荣”。在软件系统中,有时候也会存在资源浪费的情况,例如在计算机内存中存储了多个完全相同或者非常相似的对象,如果这些对象的数量太多将导致系统运行代价过高,内存属于计算机的“稀缺资源”,不应该用来“随便浪费”,那么是否存在一种技术可以用于节约内存使用空间,实现对这些相同或者相似对象的共享访问呢?
taozi8023
·
2016-05-17 16:00
java
设计模式
享元模式
JAVA设计模式
(07):结构型-桥接模式(Bridge)
在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够绘制12种不同的颜色,如果使用蜡笔,需要准备3×12=36支,但如果使用毛笔的话,只需要提供3种型号的毛笔,外加12个颜料盒即可,涉及到的对象个数仅为 3+12=15,远小于36,却能实现与36支蜡笔同样的功能。如果增加一种新型号的画笔,并且也需要具有12种颜色,对应的蜡笔需增加12
taozi8023
·
2016-05-17 16:00
java
设计模式
桥接模式
JAVA设计模式
(06):结构型-适配器模式(Adapter)
我的笔记本电脑的工作电压是20V,而我国的家庭用电是220V,如何让20V的笔记本电脑能够在220V的电压下工作?答案是引入一个电源适配器(ACAdapter),俗称充电器或变压器,有了这个电源适配器,生活用电和笔记本电脑即可兼容,如图1所示:图1 电源适配器示意图 在软件开发中,有时也存在类似这种不兼容的情况,我们也可以像引入一个电源适配器一样引入一个称之为适配器的角色来协调这些存在不
taozi8023
·
2016-05-17 16:00
java
设计模式
适配器模式
JAVA设计模式
(05):创建型-原型模式(Prototype)
张纪中版《西游记》以出乎意料的造型和雷人的台词遭到广大观众朋友的热议,我们在此对该话题不作过多讨论。但无论是哪个版本的《西游记》,孙悟空都是其中的一号雄性主角,关于他(或它)拔毛变小猴的故事几乎人人皆知,孙悟空可以用猴毛根据自己的形象,复制(又称“克隆”或“拷贝”)出很多跟自己长得一模一样的“身外身”来。在设计模式中也存在一个类似的模式,可以通过一个原型对象克隆出多个一模一样的对象,该模式称之为
taozi8023
·
2016-05-17 16:00
设计模式
原型模式
JAVA设计模式
(04):创建型-建造模式(Builder)
没有人买车会只买一个轮胎或者方向盘,大家买的都是一辆包含轮胎、方向盘和发动机等多个部件的完整汽车。如何将这些部件组装成一辆完整的汽车并返回给用户,这是建造者模式需要解决的问题。建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较低的创建型模式。建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品。1 游戏角色设计Sunny软件公司游戏开发小组决定开发一款名为《Su
taozi8023
·
2016-05-17 16:00
设计模式
建造者模式
JAVA设计模式
(03):创建型-单例模式(Singleton)
3.1单例模式的动机 对于一个软件系统的某些类而言,我们无须创建多个实例。举个大家都熟知的例子——Windows任务管理器,如图3-1所示,我们可以做一个这样的尝试,在Windows的“任务栏”的右键弹出菜单上多次点击“启动任务管理器”,看能否打开多个任务管理器窗口?如果你的桌面出现多个任务管理器,我请你吃饭,(注:电脑中毒或私自修改Windows内核者除外)。通常情况下,无论我们启动任
taozi8023
·
2016-05-17 16:00
设计模式
单例模式
JAVA设计模式
(02):创建型-抽象工厂模式(Abstract Factory)
工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,我们可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产,这就是我们本文将要学习的抽象工厂模式的基本思想。 1 界面皮肤库的初始设计 Sunny软件公司欲开发一套界面皮肤库,可以对Java桌面
taozi8023
·
2016-05-17 16:00
设计模式
抽象工厂模式
上一页
102
103
104
105
106
107
108
109
下一页
按字母分类:
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
其他