GoF23种设计模式之结构型模式之组合模式
一、概述将对象组合成树型结构以表示“部分--整体”的层次关系。组合模式使得用户对单个对象和组合对象的使用具有一致性。二、适用性1.你想表示对象的部分--整体层次结构的时候。2.你希望用户忽略组合对象与单个对象的不同的时候,用户将统一地使用组合结构中的所有对象。三、参与者1.Component:为组合...
GoF23种设计模式之结构型模式之适配器模式
一、概述 将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。二、适用性1.你想使用一个已经存在的类,但是它的接口不符合你的要求的时候。2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口肯不一定兼...
【GOF23设计模式】状态模式
来源:http://www.bjsxt.com/ 一、【GOF23设计模式】_状态模式、UML状态图、酒店系统房间状态、线程对象状态切换 package com.test.state; public interface State { void handle(); } package com...
【GOF23设计模式】外观模式
来源:http://www.bjsxt.com/ 一、【GOF23设计模式】_外观模式、公司注册流程、迪米特法则 package com.test.facade; public interface 工商局 { void checkName();//核名 } class 海淀区工商局 impl...
c#设计模式-总结(针对GOF23)
设计模式的原则? l 单一职责:你不希望因为电脑内存损坏而更换CPU吧,同样也不应该让一个类有多种修改的理由。 l 对扩展开放,对修改封闭:你一定不希望电脑只有一个内存槽,加内存就要换主板吧,程序也应该能在不修改原先程序的情况下就能扩展功能。 l ...
GOF23设计模式之状态模式(state)
一、状态模式概述 用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。 结构: (1)Context 环境类 环境类中维护一个 State 对象,它定义了当前的状态。 (2)State 抽象状态类 (3)ConcreteState 具体状态类 每一个类封装了一个状态对应的行为。 二...
GOF23设计模式之工厂模式
-实现了创建者和调用者的分离-面向对象设计的基本原则:·OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭·DIP(依赖倒转原则,Dependence Inversion Principle):要针对接口编程,不要针对实现编程·LoD(迪米特法则...
【GOF23设计模式】策略模式
来源:http://www.bjsxt.com/ 一、【GOF23设计模式】_策略模式、CRM中报价策略、GUI编程中布局管理器底层架构 package com.test.strategy; /** * 实现起来比较容易,符合一般开发人员的思路 * 假如,类型特别多,算法比较复杂时,整个条件语句...
【GOF23设计模式】命令模式
来源:http://www.bjsxt.com/ 一、【GOF23设计模式】_命令模式、数据库事务机制底层架构实现、撤销和回复 package com.test.command; public class Receiver { public void action(){ Sy...
【GOF23设计模式】观察者模式
来源:http://www.bjsxt.com/ 一、【GOF23设计模式】_观察者模式、广播机制、消息订阅、网络游戏对战原理 package com.test.observer; import java.util.ArrayList; import java.util.List; public c...
GOF23设计模式之单例模式
·核心作用:-保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。·常见应用场景:-Windows的Task Manager(任务管理器)就是很典型的单例模式-Windows的Recycle Bin(回收站)也是很典型的单例应用。在整个系统运行过程中,回收站一直维护着仅有的一个实例-项目中,...
Java中的GOF23(23中设计模式)--------- 单例模式(Singleton)
Java中的GOF23(23中设计模式)--------- 单例模式(Singleton)在Java这这门语言里面,它的优点在于它本身的可移植性上面,而要做到可移植的话,本身就需要一个中介作为翻译工作,以达到本地和Java的统一,但是就这点而言就相当的消耗资源,所以就Java程序员需要不断的去优化自...
【GOF23设计模式】解释器模式 & 访问者模式
来源:http://www.bjsxt.com/ 一、【GOF23设计模式】_解释器模式、访问者模式、数学表达式动态解析库式1、解释器模式Interpreter 2、访问者模式Visitor ...
GOF23设计模式归类
创建型模式:-单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式结构型模式:-适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式行为型模式:-模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式
【GOF23设计模式】工厂模式
来源:http://www.bjsxt.com/ 一、【GOF23设计模式】_简单工厂模式详解、面向对象设计原则、开闭原则、依赖反转原则、迪米特法则 没有工厂模式的情况 package com.test.factory.simple; public interface Car { publi...
【GOF23设计模式】建造者模式
来源:http://www.bjsxt.com/ 一、【GOF23设计模式】建造者模式详解类图关系建造飞船 package com.test.Builder; public class AirShip { private OrbitalModule orbitalModule;//轨道舱 ...
【GOF23设计模式】--单例模式
核心作用:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点常见应用场景windows的任务管理器windows的回收站项目中,读取配置文件的类网站的计数器,否则难以同步应用程序的日志应用,一般是由于共享的日志文件一直处于打开状态,因为只能有一个实例去操作,否则内容不好追加数据库连接池的设计...
【GOF23设计模式】代理模式
来源:http://www.bjsxt.com/ 一、【GOF23设计模式】_代理模式、静态代理package com.test.proxy.staticProxy;public interface Star { /** * 面谈 */ void confer(); ...
【GOF23设计模式】单例模式
来源:http://www.bjsxt.com/ 一、【GOF23设计模式】_单例模式、应用场景、饿汉式、懒汉式1、GOF23设计模式 2、单例模式 3、饿汉式 1 package com.test.singleton; 2 /** 3 * 测试饿汉式单例模式 4 */ 5 public cl...
工厂方法模式(GOF23)
耦合关系直接决定着软件面对变化时的行为 主要对模块之间的关系进行整理,依赖关系倒置(依赖反转),变化快的东西不能影响到变化慢的东西 用封装机制来隔离易变的对象,抽象部分(不易变)和细节部分(可能容易变化),前提抽象部分相对稳定,如果抽象部分也不稳定则不要使用设计模式 设计模式解决一个问题...