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设计模式
]第三部分:结构模式
声明: 原创作品, 转载时请注明文章来自 SAP师太 技术博客( 博/客/园www.cnblogs.com): www.cnblogs.com/jiangzhengjun, 并以超链接形式标明文章原始出处, 否则将追究法律责任!原文链接: http://www.cnblogs.com/jiangzhengjun/p/4261285.html 结构模式... 52 适配(Adapt
·
2015-11-08 11:56
java设计模式
[
JAVA设计模式
]第二部分:创建模式
声明: 原创作品, 转载时请注明文章来自 SAP师太 技术博客( 博/客/园www.cnblogs.com): www.cnblogs.com/jiangzhengjun, 并以超链接形式标明文章原始出处, 否则将追究法律责任!原文链接: http://www.cnblogs.com/jiangzhengjun/p/4261025.html 创建模式... 37 简单工厂(Sim
·
2015-11-08 11:54
java设计模式
[
JAVA设计模式
]第一部分:接口、抽象类、设计原则
声明: 原创作品, 转载时请注明文章来自 SAP师太 技术博客( 博/客/园www.cnblogs.com): www.cnblogs.com/jiangzhengjun, 并以超链接形式标明文章原始出处, 否则将追究法律责任!原文链接: http://www.cnblogs.com/jiangzhengjun/p/4260969.html 接口(纯粹的抽象类)
·
2015-11-08 11:53
java设计模式
《转》java动态代理(JDK和cglib)
该文章转自:http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html JAVA的动态代理 代理模式 代理模式是常用的
java
·
2015-11-07 14:44
java动态代理
Java设计模式
11:Facade
门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面对(Facade)象进行。 迪米特法则:只与你直接的朋友们通信。 此设计模式需要一个设计不是很好的系统进行改造来进行对比Facade倒底做些什么。 以下为一个设计不是很好的系统: 可以看出,Client对象需要引用到所有的Camera,Light,Sensor,Alarm对象。Client必须对保安系统全知全能,这是一个不
·
2015-11-07 12:13
java设计模式
java设计模式
10:Flyweight
享元模式是对象的结构模式。 享元模式以共享的方式高效地支持大量的细粒度对象。享元对象能做到共享的关键是区分内蕴状态(Internal State)和外蕴状态(External State). 一个内蕴状态是存储在享元对象内部的,并且是不会随环境改变而有所不同的。因此,一个享元可以具有内蕴状态并可以共享。 一个外蕴状态是可随环境改变而改变的,不可以共享的状态。享元对象的外蕴状态必须由客户
·
2015-11-07 12:08
flyweight
Java 23种设计模式详尽分析与实例解析之一--创建型模式
Java设计模式
创建型模式 简单工厂模式 模式动机: 考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等),这些按钮都源自同一个基类,不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同的外观
·
2015-11-07 11:45
java
Java 23种设计模式详尽分析与实例解析之二--结构型模式
Java设计模式
结构型模式 适配器模式 模式动机:在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。
·
2015-11-07 11:41
java
Java设计模式
(20)观察者模式(Observer模式)
Java深入到一定程度,就不可避免的碰到设计模式(design pattern)这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解。设计模式在java的中型系统中应用广泛,遵循一定的编程模式,才能使自己的代码便于理解,易于交流,Observer(观察者)模式是比较常用的一个模式,尤其在界面设计中应用广泛,而本教程所关注的是Java在电子商务系统中应用,因此想从电子商务实例中
·
2015-11-07 10:06
java设计模式
Java设计模式
(18)策略模式(Strategy模式)
Strategy是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类。 Stratrgy应用比较广泛,比如,公司经营业务变化图,可能有两种实现方式,一个是线条曲线,一个是框图(bar),这是两种算法,可以使用Strategy实现。 这里以字符串替代为例,有一个文件,我们需要读取后,希望替代其中相应的变量,然后输出。关于替代其中变量的方法可能有多种方法
·
2015-11-07 10:05
java设计模式
Java设计模式
(15)备忘录模式(Memento模式)
Memento定义:memento是一个保存另外一个对象内部状态拷贝的对象,这样以后就可以将该对象恢复到原先保存的状态。Memento模式相对也比较好理解,我们看下列代码: public class Originator { private int number; private File file = null; public Originator(){} //
·
2015-11-07 10:04
java设计模式
Java设计模式
(11)外观模式(Facade模式)
外观模式(Facade)的定义:为子系统中的一组接口提供一个一致的界面。Facade一个典型应用就是数据库JDBC的应用,如下例对数据库的操作: public class DBCompare { Connection conn = null; PreparedStatement prep = null; ResultSet rset = null; try { Clas
·
2015-11-07 10:04
java设计模式
Java设计模式
(1)工厂模式(Factory模式)
工厂模式定义:提供创建对象的接口。 为何使用工厂模式 工厂模式是我们最常用的模式了,著名的Jive论坛,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑实用工厂模式,虽然这
·
2015-11-07 10:03
java设计模式
JAVA设计模式
之单例模式
概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显
·
2015-11-07 09:22
java设计模式
Java设计模式
----状态模式(State)
1. 状态模式的定义: 当一个对象的内在状态改变时,允许其改变行为,这个对象看起来像是改变了其类。状态模式的核心是封装,状态的变更引起了行为的变更。2. 状态模式的角色介绍: a、抽象状态角色State 一般是抽象类或者接口,负责对象状态的定义,并且封装环境角色以实现状态的切换。 b、具体状态角色 ConcreteState 每一个具体状态角色都必须完成2个职责:本状态的行为
kris234seth
·
2015-11-06 16:00
java设计模式
状态模式
state
Java设计模式
之工厂方法模式实例简析
本文实例讲述了
Java设计模式
之工厂方法模式。分享给大家供大家参考,具体如下:工厂方法模式使用的频率非常高,在我们日常的开发中总能遇见到它的身影。
freesonhp
·
2015-11-06 11:06
Java设计模式
之单例模式实例分析
本文实例讲述了
Java设计模式
之单例模式。
freesonhp
·
2015-11-06 11:43
java设计模式
--原型模式(Prototype)
Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建原型模式实际上非常简单,只是要实现Cloneable接口。看代码publicclassSheepimplementsCloneable,Seri
coding_man_xie
·
2015-11-05 23:01
java设计模式
Java设计模式
----备忘录模式(Memento)
1. 备忘录模式的定义: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先的状态。通俗的说,备忘录模式就是一个对象的备份模式,提供了一种程序数据的备份方法。2. 备忘录模式的3个角色: a、Originator角色类(发起人) 记录当前时刻的内部状态,负责定义那些事属于备份范围的状态,负责创建和恢复备忘录数据 b、Mement
kris234seth
·
2015-11-05 15:00
java设计模式
备忘录模式
memento
Java设计模式
----备忘录模式(Memento)
原文链接:http://www.cnblogs.com/elgin-seth/p/5293755.html1.备忘录模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复到原先的状态。通俗的说,备忘录模式就是一个对象的备份模式,提供了一种程序数据的备份方法。2.备忘录模式的3个角色:a、Originator角色类(发起人)记录当前时刻的内
weixin_30527143
·
2015-11-05 15:00
JAVA的静态代理与动态代理比较--转载
扩展:http://www.ibm.com/developerworks/cn/java/j-lo-proxy1/JAVA的静态代理与动态代理比较一、概念代理模式是常用的
Java设计模式
,它的特征是代理类与委托类有同样的接口
maikelsong
·
2015-11-04 17:00
Java设计模式
----命令模式(Command)
1.命令模式是一个高内聚的模式,其定义为:将一个请求封装成一个对象,从而让你用不同的请求把客户端参数化,对请求排队或记录请求日志,可以提供命令的撤销和恢复功能。2. 命令模式中的3个角色 a、Receiver接受者或执行者角色 该角色是处理具体业务的角色,命令传递到这里是应该被执行的。 b、Command命令角色 需要执行的所有命令都在这里声明。 c、Invoker调用者角色
kris234seth
·
2015-11-04 16:00
command
java设计模式
java设计模式
--装饰者模式(Decorater Pattern)
装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象以下情况使用Decorator模式1.需要扩展一个类的功能,或给一个类添加附加职责。2.需要动态的给一个对象添加功能,这些功能可以再动态的撤销。3.需要增加由一些基本功能的排列组合而产生的非常大量的功能,从而使继承关系变的不现实。4.当不能采用生成子类的方法进行扩充时。一种
coding_man_xie
·
2015-11-03 21:46
java设计模式
装饰者模式
本文来自:http://blog.sina.com.cn/s/blog_3d43347c0100bp6r.html
java设计模式
_装饰者模式(带例子)(2008-12-0813:49:11)转载▼标签
u011549998
·
2015-11-03 11:00
java
设计模式
java设计模式
之依赖倒置原则(DIP)
依赖倒置原则(Dependence Inversion Principle) High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details.Details sh
·
2015-11-02 18:43
java设计模式
java设计模式
之接口隔离原则(ISP)
接口隔离原则 Interface Segregation Principle Clients should not be forced to depend upon interfaces that they don’t use 客户端不应该依赖它不需要的接口 The dependency of one class to another one sho
·
2015-11-02 18:43
java设计模式
java设计模式
之里氏替换原则(LSP)
里氏替换原则 If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged where o1 is substituted for o2 then
·
2015-11-02 18:41
java设计模式
Java设计模式
(22)命令模式(Command模式)
Command模式是最让我疑惑的一个模式,我在阅读了很多代码后,才感觉隐约掌握其大概原理,我认为理解设计模式最主要是掌握起原理构造,这样才对自己实际编程有指导作用。Command模式实际上不是个很具体,规定很多的模式,正是这个灵活性,让人有些confuse。 Command定义 不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作
·
2015-11-02 17:18
java设计模式
Java设计模式
(21)访问模式(Visitor者模式)
Visitor定义:作用于某个对象群中各个对象的操作。它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作。在Java中,Visitor模式实际上是分离了collection结构中的元素和对这些元素进行操作的行为。 为何使用Visitor模式 Java的Collection(包括Vector和Hashtable)是我们最经常使用的技术,可是Collection好象是个黑色大染缸,
·
2015-11-02 17:17
java设计模式
Java设计模式
(19)状态模式(State模式)
State的定义:不同的状态,不同的行为;或者说,每个状态有着相应的行为。 何时使用状态模式 State模式在实际使用中比较多,适合"状态的切换"。因为我们经常会使用If elseif else 进行状态切换, 如果针对状态的这样判断切换反复出现,我们就要联想到是否可以采取State模式了。 不只是根据状态,也有根据属性。如果某个对象的属性不同,对象的行为就不一样,这点在
·
2015-11-02 17:16
java设计模式
Java设计模式
(16)中介模式(Mediator模式)
Mediator定义:用一个中介对象来封装一系列关于对象交互行为。 为何使用Mediator模式/中介模式 各个对象之间的交互操作非常多,每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使用Mediator模式,可以使各个对象间的耦合松散,只需关心和 Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可修改扩展性。 如
·
2015-11-02 17:15
java设计模式
Java设计模式
(17)解释器模式(Interpreter模式)
Interpreter定义:定义语言的文法,并且建立一个解释器来解释该语言中的句子。 Interpreter似乎使用面不是很广,它描述了一个语言解释器是如何构成的,在实际应用中,我们可能很少去构造一个语言的文法。我们还是来简单的了解一下。 首先要建立一个接口,用来描述共同的操作。 public interface AbstractExpression { voi
·
2015-11-02 17:15
java设计模式
Java设计模式
(14)责任链模式(Chain of Responsibility模式)
Chain of Responsibility定义:Chain of Responsibility(CoR) 是用一系列类(classes)试图处理一个请求request,这些类之间是一个松散的耦合,唯一共同点是在他们之间传递request。也就是说,来了一个请求,A类先处理,如果没有处理,就传递到B类处理,如果没有处理,就传递到C类处理,就这样象一个链条(chain)一样传递下去。 如何使用责任
·
2015-11-02 17:14
java设计模式
Java设计模式
(12)迭代模式(Iterator模式)
上了这么多年学,我发现一个问题,好象老师都很喜欢点名,甚至点名都成了某些老师的嗜好,一日不点名,就饭吃不香,觉睡不好似的,我就觉得很奇怪,你的课要是讲的好,同学又怎么会不来听课呢,殊不知:“误人子弟,乃是犯罪!”啊。好了,那么我们现在来看老师这个点名过程是如何实现吧:1、老规矩,我们先定义老师(Teacher)接口类: public interface Teacher { publi
·
2015-11-02 17:13
iterator
Java设计模式
(13)模板模式(Template模式)
Template模式定义:定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中。其实Java的抽象类本来就是Template模式,因此使用很普遍。而且很容易理解和使用,我们直接以示例开始: public abstract class Benchmark { /** * 下面操作是我们希望在子类中完成 */ public abstract void benchmar
·
2015-11-02 17:13
template
Java设计模式
(10)代理模式(Proxy模式)
理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣。Proxy是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Proxy是代理的意思,我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理。设计模式中定义:为其他对象提供一种代理以控制对这个对象的访问。 为什么要使用代理模式
·
2015-11-02 17:12
java设计模式
Java设计模式
(9)适配器模式(Adapter模式)
适配器模式定义:将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份。 为何使用适配器模式 我们经常碰到要将两个没有关系的类组合在一起使用,第一解决方案是:修改各自类的接口,但是如果我们没有源代码,或者,我们不愿意为了一个应用而修改各自的接口。 怎么办?使用Adapter,在这两种接口之间创建一个混合接口(混血儿)。 如何使用适配器模
·
2015-11-02 17:11
java设计模式
Java设计模式
(8)组合模式(Composite模式)
Composite定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。Composite比较容易理解,想到Composite就应该想到树形结构图。组合体内这些对象都有共同接口,当组合体一个对象的方法被调用执行时,Composite将遍历(Iterator)整个树形结构,寻找同样包含这个方法的对象并实现调用执行。可以用牵一动百来形容。所以
·
2015-11-02 17:10
java设计模式
Java设计模式
(7)装饰模式(Decorator模式)
Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee。这两种实体在Decorator模式中是必须的。Decorator定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆。使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。 为什么
·
2015-11-02 17:10
Decorator
Java设计模式
(6)桥模式(Bridge模式)
Bridge定义:将抽象和行为划分开来,各自独立,但能动态的结合。 为什么使用桥模式 通常,当一个抽象类或接口有多个具体实现(concrete subclass),这些concrete之间关系可能有以下两种: 这多个具体实现之间恰好是并列的,如前面举例,打桩,有两个concrete class:方形桩和圆形桩;这两个形状上的桩是并列的,没有概念上的重复,那么我们只要使用继承就可以了。
·
2015-11-02 17:09
java设计模式
Java设计模式
(4)原型模式(Prototype模式)
Prototype模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 如何使用原型模式 因为Java中的提供clone()方法来实现对象的克隆,所以Prototy
·
2015-11-02 17:08
prototype
Java设计模式
(5)共享模式/享元模式(Flyweight模式)
Flyweight定义:避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类)。 为什么使用共享模式/享元模式 面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大,比如,字处理软件,如果以每个文字都作为一个对象,几千个字,对象数就是几千,无疑耗费内存,那么我们还是要"求同存异",找出这些对象群的共同点,设计一个元类,封装可以被
·
2015-11-02 17:08
flyweight
Java设计模式
(3)建造者模式(Builder模式)
Builder模式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们。用户不知道内部的具体构建细节。Builder模式是非常类似抽象工厂模式,细微的区别大概只有在反复使用中才能体会到。 为何使用建造者模式 是为了将构建复杂对象的过程和它的部件解耦。注意:是解耦
·
2015-11-02 17:07
java设计模式
Java设计模式
(2)单态模式(Singleton模式)
定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。 还有,singleton能够被状态化;这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且能synchronize的安全自动加1,如
·
2015-11-02 17:06
Singleton
java设计模式
之桥梁模式(Bridge)
1.桥梁模式 与 策略模式 非常相似 (其实很多设计模式都相似,因为所有的模式都是按照设计原则 而设计出来的,设计原则就相当于武功的心法,设计模式就是招式,只要心法过硬,就可以无招胜有招了。) 这里也有比较详细的说明 策略模式 VS 桥梁模式 (画画,使用蜡笔和使用毛笔以及颜料的区别) 好了,
·
2015-11-02 14:43
java设计模式
Java设计模式
之适配器模式(Adapter)
转载:《JAVA与模式》之适配器模式 这个总结的挺好的,为了加深印象,我自己再尝试总结一下 1.定义: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 (太官方了,不太好理解, &nb
·
2015-11-02 14:41
java设计模式
深入浅出
Java设计模式
之备忘录模式
本文转自:http://dev.yesky.com/450/2070450.shtml 一、引子 俗话说:世上难买后悔药。所以凡事讲究个“三思而后行”,但总常见有人做“痛心疾首”状:当初我要是……。如果真的有《大话西游》中能时光倒流的“月光宝盒”,那这世上也许会少一些伤感与后悔——当然这只能是痴人说梦了。 但是在我们手指下的程序世界里,却有的后悔药买。今天我们要讲的备忘录模式便是程序世界
·
2015-11-02 09:24
java设计模式
java设计模式
---享元模式
内存属于稀缺资源,不要随便浪费,如果有很多个相同或者相似的对象,我们就可以通过享元模式来节省内存。享元对象能做到共享的关键是区分了内部状态和外部状态。内部状态:可以共享,不会随外部状态的改变而改变。外部状态:不可以共享,会随外部状态的改变而改变。以围棋的棋子为例子,其大小形状相同,颜色分为黑白,只有位置信息不同。看代码:interfaceChessFlyWeight{voidsetColor(St
coding_man_xie
·
2015-11-01 21:15
java设计模式
JAVA设计模式
之OO设计原则
一、 开闭原则 1. 开闭原则定义 :一个软件实体应当对扩展开放,对修改关闭。也就是说在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,即实现在不
·
2015-11-01 16:04
java设计模式
为什么需要
Java设计模式
一个程序员对设计模式的理解: “不懂”为什么要把 很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的 “简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的是提出一种对所有锁的开锁方案。在真正理解设计模式之前我一直在编写“简单”的代码. 这个
·
2015-11-01 15:24
java设计模式
上一页
114
115
116
117
118
119
120
121
下一页
按字母分类:
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
其他