
设计模式
itlwc
这个作者很懒,什么都没留下…
展开
-
设计模式 - 策略模式
策略模式策略模式体现了两个非常基本的面向对象设计的原则 封装变化的概念 编程中使用接口,而不是对接口的实现(接口的实现类)策略模式定义 定义一组算法,将每个算法封装起来,并且使他们之间可以互换 策略模式使这些算法在客户端调用他们的时候能够互不影响的变化策略模式的意义 策略模式可以使开发人员开发出由许多可替换的部分组成的软件, 并且各个部分之间是弱连接关系 弱连接的特性是使软原创 2013-03-26 10:38:29 · 733 阅读 · 1 评论 -
设计模型之创建型模式之单例模式(Singleton)
定义:保证在一个JVM中,一个对象只有一个实例,并提供一个访问它的全局访问点。应用:某些对象创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。优点:省去new操作符,可以降低系统内存的使用频率,减轻GC压力。比如:有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。所以只有使用单例模式,才能保证核心交易服务器独立控制整个流程。普通单例模式代码:public原创 2016-06-26 23:58:31 · 1264 阅读 · 0 评论 -
设计模型之创建型模式之抽象工厂模式(Abstract Factory)
工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码//接口interface Sender { public void Send();}// 实现类1class Ma原创 2016-06-26 23:57:30 · 670 阅读 · 0 评论 -
设计模式分类以及六大原则
设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。六大原则单一职责原则Sing原创 2016-06-26 23:38:52 · 3810 阅读 · 0 评论 -
设计模式 - 适配器模式 Adapter
适配器模式原创 2014-02-12 17:10:13 · 735 阅读 · 0 评论 -
设计模式 - 模版方法模式 Template Method
定义原创 2014-02-12 15:35:06 · 766 阅读 · 0 评论 -
设计模式 - 观察者模式
观察者模式(Observer)定义: 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象 这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己 一对多:一相当于按钮,多相当于对按钮的多个监听器组成 有四个角色,两个抽象的,两个具体的 抽象主题角色:把所有观察者对象的引用保存在一个集合中, 每一个抽象主题角色都可以有多个观察原创 2013-04-03 16:51:44 · 653 阅读 · 0 评论 -
设计模式 - 装饰模式
概念装饰模式 又叫包装模式 装饰模式是创建一个包装对象,包装真实对象,动态扩展对象的功能装饰模式角色 抽象构成角色,具体构成角色,装饰角色,具体装饰角色 构想构成角色:一个接口或者一个抽象类,以规范准备接受附加责任的对象 具体构成角色:定义一个将要接受附加责任的类 装饰角色:持有一个构件对象的引用,并定义一个与抽象构件接口一致的接口 具体装饰角色:负责给构件对象贴上附加责任原创 2013-04-16 11:41:01 · 622 阅读 · 0 评论 -
设计模式 - 代理模式
代理模式代理模式的作用 为其他对象提供一种代理以控制对这个对象的访问某些情况下,一个客户不想或者不能直接引用另一个对象, 而代理对象可以在客户端和目标对象之间起到中介作用代理模式的角色 抽象角色,代理角色,真实角色 抽象角色:声明真实对象和代理对象的公共接口 代理角色:代理对象含有真实对象的引用,从而可以操作真实对象, 同时代理对象提供与真实对象相同的接口以便在任何时候都原创 2013-04-02 10:19:57 · 617 阅读 · 0 评论 -
设计模型之创建型模式之工厂方法模式(Factory Method)
工厂方法模式分为三种:普通工厂模式,多个工厂方法模式,抽象工厂模式普通工厂模式:就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建//接口interface Sender { public void Send();}// 实现类1class MailSender implements Sender { @Override public void Send() {原创 2016-06-26 23:56:22 · 680 阅读 · 0 评论