
设计模式
小帅比simon
热爱学习,想参与到改变世界的组织中!!
展开
-
适配器模式
适配器模式适配器模式概念角色和职责案例概念是构造型模式之一,通过Adapter模式可以改变已有类(或外部类)的接口形式。角色和职责Target: 目标类,也就是客户端希望使用的类,里面有希望得到的接口–对应案例中的18V。Adapter适配器,将实际接口转换为希望使用的接口–对应案例中的Adapter。适配器继承自目标类。Adaptee待适配的类,实际提供的类,通过适配器的功能,客原创 2016-11-28 17:23:17 · 347 阅读 · 0 评论 -
UML基础--类图
使用StartUML画类图!原创 2016-11-21 22:01:00 · 328 阅读 · 0 评论 -
UML基础--对象图
对象图不做重点掌握!原创 2016-11-21 22:02:44 · 373 阅读 · 0 评论 -
UML基础--时序图
画出三层架构成功登陆的时序图原创 2016-11-21 22:18:33 · 622 阅读 · 0 评论 -
UML基础--活动图
使用StartUML画图原创 2016-11-21 22:23:31 · 348 阅读 · 0 评论 -
UML基础--状态图
状态图不做重点掌握原创 2016-11-21 22:26:36 · 412 阅读 · 0 评论 -
UML基础--协作图
协作图也是用StartUML画的,复制CZBK这些PPT、为的是以后方便复习!原创 2016-11-21 22:28:32 · 546 阅读 · 0 评论 -
UML基础--包图
包也是用StartUML画的,复制CZBK这些PPT、为的是以后方便复习!原创 2016-11-21 22:29:34 · 670 阅读 · 0 评论 -
UML基础--组件图
组件图也是用StartUML画的,复制CZBK这些PPT、为的是以后方便复习!原创 2016-11-21 22:30:25 · 1604 阅读 · 0 评论 -
UML基础--部署图
部署图也是用StartUML画的,为了以后复习,直接copy 的ppt~!原创 2016-11-21 22:33:51 · 509 阅读 · 0 评论 -
单例模式
单例模式单例模式基本概念使用场景实现步骤懒汉式单例模式饿汉式单例模式多线程下的单例模式懒汉式单例模式的多线程改进关于程序并发机制总结基本概念 单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。在代码上表现为整个程序中只调用一次该类的构造函数。 GoF对单例模式的定义是:保证一个类、只有一个原创 2016-11-22 13:13:37 · 643 阅读 · 0 评论 -
工厂模式
工厂模式工厂模式简单工厂模式基本概念角色及职责优缺点案例工厂模式基本概念角色及职责案例工厂模式和简单工厂模式的比较简单工厂模式基本概念 简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 有一个工厂类,专门生产别的类的实例,这些能被他生产的类具有相同的父类! 核心思想是用一个工厂来原创 2016-11-28 09:51:10 · 267 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式抽象工厂模式概念产品及其等级结构角色及职责案例概念 抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。产品及其等级结构对于工厂模式:要么生产香蕉、要么生产苹果、要么生产西红柿;但是不能同时生产多个产品。抽象工厂:能同时生产一个产品族(多个产品)。===》抽象工原创 2016-11-28 10:15:26 · 299 阅读 · 0 评论 -
创建者模式
创建者模式创建者模式概念角色及职责和工厂方法模式的区别案例概念 建造者模式也叫生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。 对象的创建:Builder模式是为对象的创建而设计的模式- 创建的是一个复合对象:关注对象各部分的原创 2016-11-28 10:53:57 · 755 阅读 · 0 评论 -
原型模式
原型模式原型模式概念角色及职责案例概念 Prototype(原型)模式是一种对象创建型模式,它采取复制原型对象的方法来创建新的对象实例。使用Prototype模式创建的实例,具有与原型一样的数据。 1. 由原型对象(旧对象)自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。 2. 目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象。 3.原创 2016-11-28 11:15:31 · 309 阅读 · 0 评论 -
代理模式
代理模式代理模式概念角色及职责案例概念 代理模式,是结构型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。 所谓代理,是指具有与代理元(被代理的对象)具有相同接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。角色及职责subject(抽象主题角色): 真实主题与代理主题的共同接口。Real原创 2016-11-28 16:25:00 · 311 阅读 · 0 评论 -
UML基础--用例图
使用StartUML画类图!原创 2016-11-21 21:49:49 · 569 阅读 · 0 评论 -
UML基础--类与类之间的关系
类与类之间的关系类与类之间的关系描述关系的UML图综述泛化依赖关联聚合组合实现描述关系的UML图综述依赖:虚线。一个类是另一个类的成员函数的参数或者返回值。关联:实线(箭头)。一个类是另一个类的成员变量。 2.0一般关联 2.1聚合:(菱形+实线),整体和部分的关系,汽车和发动机,汽车可以选择各型号的发动机。 2.2组合:(实心形+实线),生命体中整体和部分的关系,人和原创 2016-11-21 21:17:27 · 666 阅读 · 0 评论 -
迭代器模式
迭代器模式迭代器模式概念角色和职责案例概念 Iterator模式也叫迭代模式,是行为模式之一,它把对容器中包含的内部对象的访问委让给外部类,使用Iterator(遍历)按顺序进行遍历访问的设计模式。 在应用Iterator模式之前,首先应该明白Iterator模式用来解决什么问题。或者说,如果不使用Iterator模式,会存在什么问题。由容器自己实现顺序遍历。直接在容器类里直接原创 2016-11-29 19:08:25 · 327 阅读 · 0 评论 -
组合模式
组合模式组合模式概念角色及职责案例概念组合模式,是(构造型)结构型的设计模式之一。通过递归手段来构造树形的对象结构,并可以通过一个对象来访问整个对象树。角色及职责Component (树形结构的节点抽象)为所有的对象定义统一的接口(公共属性,行为等的定义)提供管理子节点对象的接口[可选]提供管理父节点对象的接口Leaf (树形结构的叶节点) Component的实现子类–普通文件C原创 2016-11-28 17:32:58 · 220 阅读 · 0 评论 -
桥接模式
桥接模式桥接模式概念角色和职责案例概念 Bridge 模式又叫做桥接模式,是结构型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。 一般用来解决多对多的问题!两个集合中的元素原创 2016-11-28 17:50:18 · 377 阅读 · 0 评论 -
外观模式
外观模式外观模式概念角色和职责案例概念Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade。角色和职责Façade 为调用方, 定义简单的调用接口。Clients(没有画出) 调用者。通过Facade接口调用提供某功能的内部类群。S原创 2016-11-28 20:04:49 · 271 阅读 · 0 评论 -
享元模式
享元模式享元模式概念角色和职责案例概念Flyweight模式也叫享元模式,是构造型模式之一,它通过与其他类似对象共享数据来减小内存占用。说白了,就是共享内存,共享对象!角色和职责抽象享元角色: 所有具体享元类的父类,规定一些需要实现的公共接口。具体享元角色: 抽象享元角色的具体实现类,并实现了抽象享元角色规定的方法。享元工厂角色: 负责创建和管理享元角色。 使用场景: 是原创 2016-11-28 20:44:38 · 274 阅读 · 0 评论 -
模板模式
模板模式模板模式概念角色和职责案例概念 Template Method模式也叫模板方法模式,是行为模式之一,它把具有特定步骤算法(模板方法)中的某些必要的处理委让给抽象方法(模板类父类中的纯虚函数),通过子类对抽象方法的不同实现,改变整个算法的行为。 也就是说,通过子类重写父类虚函数,在保证总体大局,总体步骤不变的情况下,每一个小步骤的具体算法行为可以改变,最终实现接口不变。角色和职责原创 2016-11-28 21:06:15 · 294 阅读 · 0 评论 -
UML基础--设计模式基本概念
1. 软件设计: 把软件开发想清楚的过程2. 软件工程: 对软件开发全过程进行建模和管理3. 模型: 对现实问题的书面上的无歧义文字或图形的描述.简言之, 模型是对现实的简化. 通过模型, 人们可以了解所研究事物的本质.4. 建模: 对现实系统进行适当的过滤, 用适当的表现规则(编程语言)描述出简洁的模型. 建模是一种深入解决问题的方法5. 建模的原则选择建立什么样的模型对如何发现和解决问题原创 2016-11-21 21:37:02 · 823 阅读 · 0 评论 -
命令模式
命令模式命令模式概念角色和职责案例概念 Command模式也叫命令模式 ,是行为型设计模式的一种。Command类封装了对目标对象的调用行为以及调用参数。 在面向对象的程序设计中,一个对象调用另一个对象,一般情况下的调用过程是:创建目标对象实例;设置调用参数;调用目标对象的方法。 但在有些情况下有必要使用一个专门的类对这种调用过程加以封装,我们把这种专门的类称作command类。原创 2016-11-28 21:46:03 · 289 阅读 · 0 评论 -
责任链模式
责任链模式责任链模式概念角色及职责优缺点案例概念 Chain of Responsibility(CoR)模式也叫职责链模式或者职责连锁模式,是行为模式之一,该模式构造一系列分别担当不同的职责的类的对象来共同完成一个任务,这些类的对象之间像链条一样紧密相连,所以被称作职责链模式。例1:比如客户Client要完成一个任务,这个任务包括a,b,c,d四个部分。 首先客户Client把任原创 2016-11-28 22:43:56 · 300 阅读 · 0 评论 -
策略模式
策略模式策略模式概念角色和职责优缺点案例概念 Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换 。 在宏观上对算法进行替换!这一点与模板模式不一样!模板模式是在抽象模板类里面有一个模板函数原创 2016-11-29 09:31:40 · 319 阅读 · 0 评论 -
中介者模式
中介者模式中介者模式概念角色和职责模式优点案例概念 Mediator(中介者)模式是行为模式之一,在Mediator模式中,类之间的交互行为被统一放在Mediator的对象中,对象通过Mediator对象同其他对象交互,Mediator对象起着控制器的作用。 用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示的相互引用,从而降低耦合;而且可以独立地改变它们之间的交互。角色原创 2016-11-29 10:34:01 · 287 阅读 · 0 评论 -
观察者模式
观察者模式观察者模式概念角色及职责案例概念 Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。 Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。角色及职责Subject(被观察者) 被观察的对象。当需要被观察的状态发生变化时,需要通知队列中所有观察者对象。Su原创 2016-11-29 11:12:20 · 365 阅读 · 0 评论 -
备忘录模式
备忘录模式备忘录模式概念角色及职责案例概念Memento模式也叫备忘录模式,是行为模式之一,它的作用是保存对象(原生对象)的内部状态到备忘录,并在需要的时候通过caretaker(保存了备忘录)提取备忘录的内容(undo/rollback)恢复原生对象以前的状态。角色及职责Originator(原生者) 需要被保存状态以便恢复的那个对象。Memento(备忘录) 该对象由Origina原创 2016-11-29 14:08:35 · 333 阅读 · 0 评论 -
访问者模式
访问者模式访问者模式概念角色和职责优缺点案例概念 Visitor模式也叫访问者模式,是行为模式之一,它分离对象的数据和行为,使用Visitor模式,可以不修改已有类的情况下,增加新的操作角色和职责。 访问者模式特点:访问者模式优点是增加新的操作很容易,因为增加新的操作就意味着增加一个新的访问者。访问者模式将有关的行为集中到一个访问者对象中。那访问者模式的缺点是是增加新的数据结构变原创 2016-11-29 16:08:48 · 357 阅读 · 0 评论 -
状态模式
状态模式状态模式概念角色及职责案例概念 State模式也叫状态模式,是行为设计模式的一种。State模式允许通过改变对象的内部状态而改变对象的行为,这个对象表现得就好像修改了它的类一样。 状态模式主要解决的是:控制一个对象的状态进行转换的条件表达式,过于复杂时的情况(条件表达式控制着对象状态的转换)。把状态的判断逻辑转移到到表现不同状态的一系列类当中,可以把复杂的判断逻辑简化。角色及职责原创 2016-11-29 17:02:12 · 341 阅读 · 0 评论 -
解释器模式
解释器模式解释器模式概念角色及职责案例概念解释器模式是行为型模式之一,描述了如何为简单的语言定义一套语法,如何在该语言中表示一个句子,以及如何解释这些句子,然后执行相应的动作和行为!角色及职责Context 解释器上下文环境类。用来存储解释器的上下文环境,比如需要解释的文法等。AbstractExpression 解释器抽象类。ConcreteExpression 解释器具体实现类原创 2016-11-29 18:39:53 · 274 阅读 · 0 评论 -
装饰模式
装饰模式装饰模式概念角色及职责案例概念 装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。 装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。角色及职责component抽象产品类。是所有具体产品和装饰者的基类,客户端原创 2016-11-28 16:55:24 · 4492 阅读 · 0 评论