设计模式
文章平均质量分 74
小明同学~~
以恒心,待初心
展开
-
行为型模式 -- 访问者模式
行为型模式 – 访问者模式访问者模式(Visitor Pattern):提供一个作用于某对象结构中的各元素的操作表示,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式是一种对象行为型模式。原创 2021-03-15 19:43:16 · 77 阅读 · 0 评论 -
行为型模式 -- 模板方法模式
行为型模式 – 模板方法模式模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。原创 2021-03-15 19:42:44 · 78 阅读 · 0 评论 -
行为型模式 -- 状态模式
行为型模式 – 状态模式状态模式(State Pattern):允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。原创 2021-03-15 19:41:43 · 100 阅读 · 0 评论 -
行为型模式 -- 观察者模式
行为型模式 – 观察者模式观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式的别名包括发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式是一种对象行为型模式。原创 2021-03-15 19:41:10 · 222 阅读 · 0 评论 -
行为型模式 -- 备忘录模式
行为型模式 – 备忘录模式在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。它是一种对象行为型模式,其别名为Token。原创 2021-03-15 19:40:37 · 149 阅读 · 0 评论 -
行为型模式 -- 中介者模式
行为型模式 – 中介者模式中介者模式(Mediator Pattern):用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。原创 2021-03-15 19:40:04 · 93 阅读 · 0 评论 -
行为型模式 -- 迭代器模式
行为型模式 – 迭代器模式提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标(Cursor)。迭代器模式是一种对象行为型模式。原创 2021-03-15 19:39:27 · 132 阅读 · 0 评论 -
行为型模式 -- 解释器模式
行为型模式 – 解释器模式定义一个语言的文法,并且建立一个解释器来解释该语言中的句子,这里的“语言”是指使用规定格式和语法的代码。解释器模式是一种类行为型模式。原创 2021-03-15 19:38:57 · 73 阅读 · 0 评论 -
行为型模式 – 命令模式
命令模式(Command Pattern):将一个请求封装为一个对象,从而让我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。原创 2021-03-15 19:37:58 · 149 阅读 · 0 评论 -
行为型模式 – 职责链模式
职责链模式(Chain of Responsibility Pattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式。原创 2021-03-15 19:37:27 · 73 阅读 · 0 评论 -
结构型模式 – 代理模式
代理模式:给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问。原创 2021-03-08 18:51:52 · 67 阅读 · 0 评论 -
结构型模式 – 享元模式
享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。原创 2021-03-08 18:50:57 · 146 阅读 · 0 评论 -
结构型模式 – 外观模式
外观模式:为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。原创 2021-03-08 18:50:24 · 87 阅读 · 0 评论 -
结构型模式 – 装饰模式
装饰模式(Decorator Pattern):动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。原创 2021-03-08 18:49:48 · 155 阅读 · 0 评论 -
结构型模式 – 组合模式
组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,组合模式又可以称为“整体—部分”(Part-Whole)模式,它是一种对象结构型模式。原创 2021-03-08 18:49:17 · 206 阅读 · 0 评论 -
结构型模式 – 桥接模式
桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。原创 2021-03-08 18:47:17 · 180 阅读 · 0 评论 -
结构型模式 – 适配器模式
适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口,使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。原创 2021-03-08 18:46:41 · 115 阅读 · 0 评论 -
创建型模式 -- 建造者模式
建造者模式是较为复杂的创建型模式,它将客户端与包含多个组成部分(或部件)的复杂对象的创建过程分离,客户端无须知道复杂对象的内部组成部分与装配方式,只需要知道所需建造者的类型即可。它关注如何一步一步创建一个的复杂对象,不同的具体建造者定义了不同的创建过程,且具体建造者相互独立,增加新的建造者非常方便,无须修改已有代码,系统具有较好的扩展性。建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一种对象创建型模式。原创 2021-03-08 17:25:40 · 246 阅读 · 0 评论 -
创建型模式 -- 原型模式
原型模式(Prototype Pattern):使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建型模式。 原型模式的工作原理很简单:将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝自己来实现创建过程。 需要注意的是通过克隆方法所创建的对象是全新的对象,它们在内存中拥有新的地址,通常对克隆所产生的对象进行修改对原型对象不会造成任何影响,每一个克隆对象都是相互独立的。通过不同的方式修改可以得到一系列相似但不完全相同的对象。原创 2021-03-08 17:25:03 · 152 阅读 · 0 评论 -
创建型模式 -- 简单工厂模式
简单工厂模式定义 简单工厂模式(Simple Factory Pattern):定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态(static)方法,因此简单工厂模式又被称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。 当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。图表库的设计 Java语言开发一套图表库,该图表库可以为应用系统原创 2021-03-04 11:47:08 · 146 阅读 · 3 评论 -
设计模式 -- 概述
设计模式 – 概述设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码可靠性。《设计模式:可复用面向对象软件的基础》一书中所介绍的23种经典设计模式,不过设计模式并不仅仅只有这23种,23种设计模式中包含5种创建型设计模式、7种结构型设计模式和11种行为型设计模式。创建型模式意义对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。目的为了使软件的结构更原创 2021-02-25 18:57:33 · 156 阅读 · 0 评论 -
设计模式--抽象工厂模式
设计模式–抽象工厂模式抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。优点 当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。缺点 产品族扩展非常困难,...原创 2018-03-27 17:05:16 · 116 阅读 · 0 评论 -
设计模式--策略模式
设计模式–策略模式策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。优点算法可以自由切换。避免使用多重条件判断。扩展性良好。缺点...原创 2018-03-27 15:41:02 · 307 阅读 · 0 评论 -
创建型模式 – 工厂方法模式
设计模式--工厂模式工厂模式提供创建对象的机制,但是不将原型暴露在外,而是通过统一接口,通过不同字符定义不同对象,指定给出新的对象。主要形式通过继承实现优点创建对象知道名称就可以了扩展性能高,增加新的类型,在工厂类中实现就可以不关心实例类型,只关心调用接口下面是一个工厂模式实现的小例子:packagedesign.patten.factory.dome;/***计算器**@autho...原创 2018-03-24 12:29:12 · 211 阅读 · 0 评论 -
创建型模式 – 单例模式
单例模式 为什么会有单例模式那?因为只创建一个对象,通过私有化的构造方法和公共的调用方法,确保有且只有一个对象。必须只有一个实例化对象,且由自己类创建,还能提供给其他的类使用。但是我认为学习设计模式就是在学习一种思想,往往这种思想总会被打破。哈哈哈!单例模式并不是牢不可摧,运用反射,就可以打破单例的神奇光环:http://www.importnew.com/29338.h...原创 2017-05-23 17:21:41 · 233 阅读 · 0 评论