![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA设计模式的思考
文章平均质量分 86
ljtyzhr
在程序员的世界里遨游。
展开
-
JAVA设计模式(四)——单例模式
1、定义原创 2015-01-06 18:01:56 · 627 阅读 · 0 评论 -
JAVA设计模式(十三)——桥接模式
1、桥接模式 Bridge模式又叫做桥接模式,是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。 桥接模式的用意是"将抽象化(Abstracti原创 2015-03-04 22:24:40 · 555 阅读 · 0 评论 -
JAVA设计模式(十四)——适配器模式
1、适配器模式 适配器模式又被成为Adapter模式,它的主要作用是在新接口和老接口之间进行适配。适配器是一个比较常见的词语,比如我们的笔记本电源适配器。如果我们的电脑可能适配的电源是38V,但是我们的家用电源是220V的,这个时候就要用到电源适配器,做出一定的处理。 最典型的例子就是很多功能手机,每一种机型都自带有从电器,有一天自带充电器坏了,而且市场没有这类原创 2015-03-06 22:22:34 · 501 阅读 · 0 评论 -
JAVA设计模式(二十二)——访问者模式
1、访问者模式 情人节到了,要给每个MM送一束鲜花和一张卡片,可是每个MM送的花都要针对她个人的特点,每张卡片也要根据个人的特点来挑,我一个人哪搞得清楚,还是找花店老板和礼品店老板做一下Visitor,让花店老板根据MM的特点选一束花,让礼品店老板也根据每个人特点选一张卡,这样就轻松多了; Visitor模式也叫访问者模式,是行为模式之一,它分离对象的数据和行为原创 2015-03-22 21:37:35 · 537 阅读 · 0 评论 -
JAVA设计模式(十六)——中介者模式
1、中介者模式 Mediator模式也叫中介者模式,是由GoF提出的23种软件设计模式的一种。 Mediator模式是行为模式之一,在Mediator模式中,类之间的交互行为被统一放在Mediator的对象中,对象通过Mediator对象同其他对象交互,Mediator对象起着控制器的作用。中介者模式的核心思想就是两个对象尽可能不要直接相关,而是通过中介者联系。原创 2015-03-10 19:17:41 · 603 阅读 · 0 评论 -
JAVA设计模式(二十)——备忘录模式
1、备忘录模式 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原,比如喜欢下棋的同学,都知道撤销操作,就使用了备忘录模式。Windows上经典的空当接龙这个游戏,也提供了撤销操作,也是备忘录模式的一种。 Memento模式也叫备忘录模式,是行为模式之一,它的作用原创 2015-03-17 23:04:44 · 535 阅读 · 0 评论 -
JAVA设计模式(二十一)——状态模式
1、状态模式 状态模式在英文中被称为State模式,是行为设计模式的一种。State模式允许通过改变对象的内部状态而改变对象的行为,这个对象表现得就好像修改了它的类一样。2、应用场景 状态模式有一定的使用场景,比如:当控制一个对象状态转换的条件表达式过于复杂的时候,可以考虑把状态的判断逻辑转译到表现不同状态的一系列类当中。这样一来,就可以把复杂的原创 2015-03-19 22:16:15 · 591 阅读 · 0 评论 -
JAVA设计模式(二十二)——命令行模式
1、命令行模式 命令行也就是Command,Command模式是行为设计模式的一种。就像我们常常看到的命令行窗口一样,只要输入一个命令,就可以开启某种功能,明令行模式的定义就是:通过被称为Command的类封装了对目标对象的调用行为以及调用参数。这就是命令行模式,可以说是我们最常见的设计模式。2、应用场景 在面向对象的程序设计中,一个对象调用另一个对原创 2015-03-21 18:43:24 · 1066 阅读 · 0 评论 -
Java设计模式(二十七)——里氏替换原则
1、里氏替换原则 里氏替换原则,又被称为里氏置换原则,不过都是英文翻译,不用过分在意。我们还是来看看英文原文的意思如何:Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.翻译过原创 2015-04-08 22:10:38 · 595 阅读 · 0 评论 -
JAVA设计模式(二十六)——接口隔离原则
1、接口隔离原则 好吧,老规矩,我们先看看英文定义是怎样的,如下:Clients should not be forced to depend upon interfaces that they don't use.这句话翻译过来是:客户端不应该强行依赖它不需要的接口。这里的接口不仅仅是指interface所定义的关键字,也可以指抽象类,抽象类具备接口的某一些功能特征。原创 2015-04-07 19:43:59 · 554 阅读 · 0 评论 -
JAVA设计模式(二十八)——迪米特法则
1、迪米特法则 迪米特法则的英文称呼是:Least Knowledge Principle,在程序中,通用的中文定义为:一个对象应该对其他对象了解最少。迪米特法则的核心是类间解耦,弱耦合,只有弱耦合了以后,类的复用性才可以提高。 迪米特法则的提出,是机遇这样的一个前提:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。为了程序的可复原创 2015-04-10 23:40:33 · 700 阅读 · 0 评论 -
JAVA设计模式(二十九)——设计模式总结
1、设计模式类型1)创建模式2)工厂模式3)结构模式创建模式2、工厂模式(Factory) 客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。3、建造模式(BUILDER)将产品的内部表象和产品的原创 2015-04-12 13:09:37 · 540 阅读 · 0 评论 -
JAVA设计模式(二十四)——单一原则
1、单一原则 单一职责原则(Single Responsibility Principle),简称SRP。它的最原始定义是英文,如下:There should never be more than one reason for a class to change.翻译过来就是:应该有且仅有一个原因引起类的变更。2、解释说明 很多时候,我们为了方便,会原创 2015-04-01 22:26:20 · 708 阅读 · 0 评论 -
JAVA设计模式(二十五)——依赖倒置原则
1、依赖倒置原则 依赖倒置原则(Dependence Inversion Principle),简称DIP。首先来看看英文的定义吧,如下一长段:High level modules should depend upon low level modules. Both should depend upon abstractions. Abstractions shoul原创 2015-04-07 11:12:43 · 611 阅读 · 0 评论 -
JAVA设计模式(十二)——组合模式
1、组合模式 Composite模式也叫做组合模式,是构造型的设计模式之一。通过递归手段来构造树形的对象结构,并可以通过一个对象来访问整个对象树。 组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。2、结构图组合模式的精髓是组合原创 2015-03-04 18:34:22 · 576 阅读 · 0 评论 -
JAVA设计模式(十一)——外观模式
1、外观模式介绍 Facade模式也叫外观模式,是由GoF提出的23种设计模式种的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单界面。这个一致的简单的界面被称为facade。 引入外观角色之后,用户只需要直接与外观角色交互,用户与子系统之间的复杂关系由外观角色来实现,从而降低了系统的耦合度。2、结构图用户只用原创 2015-03-03 22:47:34 · 574 阅读 · 0 评论 -
JAVA设计模式(十)——代理模式
1、代理模式Proxy模式又被称之为呆梨模式,是构建型模式之一,它可以为其他对象提供一种代理以控制这个对象的访问所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。2、角色subject(抽象主题角色):真实主题与代理主题的共同接口RealSubject(真实主题角色原创 2015-03-01 21:02:15 · 524 阅读 · 0 评论 -
JAVA设计模式简介
1、什么是设计模式 关于设计模式,有一些比较官方的定义,如:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。原创 2014-12-01 11:32:39 · 695 阅读 · 0 评论 -
JAVA设计模式(五)——原型模式
1、原型模式定义 原型模式与前面的单例模式一样,也是一种对象创建模式,它采用复制原型对象的方法创建一个与原型一样的对象的方法,来创建一个对象实例。这样就使得原型模式创建的对象,具备了和原型一样的数据资源。2、原创 2015-01-06 22:44:30 · 578 阅读 · 0 评论 -
JAVA设计模式(三)——抽象工厂模式
1、工厂模式原创 2014-12-24 10:04:27 · 576 阅读 · 0 评论 -
JAVA设计模式(六)——建造者模式
1、建造者模式 建造者模式又被成为生成器模式,是GoF提出的23种设计模式种的一种。 建造者模式是一种对象创建型的模式,用来隐藏复合对象的创建过程,他把复合对象的创建过程加以抽象,通过子类的继承或者重载,动态的创建具有复合属性的对象。2、原创 2015-01-08 14:40:48 · 580 阅读 · 0 评论 -
JAVA设计模式(八)——策略模式
1、策略模式 策略模式也是行为模式之一,它对一系列的算法进行封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装实现和实现。具体的算法选择交给客户端决定。 策略模式主要用来平滑地处理算法的切换2、结构图示3、代码展示原创 2015-01-12 22:05:48 · 651 阅读 · 0 评论 -
JAVA设计模式(一)——简单工厂模式
1、简单工厂模式 简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。2、角色与职责2.1 工厂角色简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。2.2 抽象角色简单工厂模式所创建的所有对象的父类,它负责描述所有实例原创 2014-12-18 21:43:59 · 689 阅读 · 0 评论 -
JAVA设计模式(七)——装饰模式
1、设计原则:1. 多用组合,少用继承。利用继承设计子类的行为,是在编译时静态决定的,而且所有的子类都会继承到相同的行为。然而,如果能够利用组合的做法扩展对象的行为,就可以在运行时动态地进行扩展。2. 类应设计的对扩展开放,对修改关闭。原创 2015-01-10 09:41:34 · 624 阅读 · 0 评论 -
JAVA设计模式(二)——工厂方法模式
1、抽象工厂模式原创 2014-12-19 14:12:46 · 633 阅读 · 0 评论 -
JAVA设计模式(九)——观察者模式
1、观察者模式原创 2015-01-13 13:37:09 · 582 阅读 · 0 评论 -
JAVA设计模式(十)——享元模式
1、享元模式原创 2015-01-13 21:26:00 · 497 阅读 · 0 评论 -
JAVA设计模式(十八)——迭代模式
1、迭代模式 Iterator模式也叫迭代模式,是行为模式之一,它把对容器中包含的内部对象的访问委让给外部类,使用Iterator(遍历)按顺序进行遍历访问的设计模式。2、问题提出 在应用Iterator模式之前,首先应该明白Iterator模式用来解决什么问题。或者说,如果不使用Iterator模式,会存在什么问题。主要会出现如下两个问题:原创 2015-03-14 16:31:19 · 429 阅读 · 0 评论 -
JAVA设计模式(十九)——模版方法模式
1、模版方法模式 Template Method模式也叫模板方法模式,是行为模式之一,它把具有特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为。 模板方法模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对原创 2015-03-15 14:24:38 · 513 阅读 · 0 评论 -
JAVA设计模式(十七)——职责链模式
1、职责链模式 Chain of Responsibility(CoR)模式也叫职责链模式或者职责连锁模式,是行为模式之一,该模式构造一系列分别担当不同的职责的类的对象来共同完成一个任务,这些类的对象之间像链条一样紧密相连,所以被称作职责链模式。2、应用场景例1:比如客户Client要完成一个任务,这个任务包括a,b,c,d四个部分。 首先客户Client把任原创 2015-03-12 22:00:35 · 518 阅读 · 0 评论 -
JAVA设计模式(二十三)——开放封闭原则
1、开闭原则 开闭原则,准确一点说,是开放封闭原则,意思是对内开放,对外封闭。如果我们能够熟悉JAVA语言的三大特性(当然,也有人说是四大),那么我们就会很容易理解这里的内外,否则就可能有些摸不着头脑了。 用程序来说,就是对扩展开放,这个设计是可以扩展的;对修改封闭,程序在扩展的时候,不需要修改原有的设计,体现了很好的扩展性和封装性。2、两个特征原创 2015-03-26 23:35:38 · 1400 阅读 · 0 评论