设计模式之Adapter】的更多相关文章

今天学习另一个设计模式,适配器(Adapter)模式,这是一个共同方向,但有特殊要求,就应用到此设计模式.写到这里,想起很久以前,有写过一篇<ASP.NET的适配器设计模式(Adapter)>http://www.cnblogs.com/insus/archive/2013/02/04/2891426.html ,但是似乎没有适配器的味道. 比如一个系统,开发时设计好各种权限,但某一种,客户提出要求,需要一个特殊的权限来操作.只好开发一个适配器来让其有这个特殊操作权限. 用代码来举例吧. 先定…
写在前面 为方便读者,本文已添加至索引: 设计模式 学习笔记索引 Adapter(适配器)模式主要解决接口不匹配的问题.为此,让我们要回到最初Builder模式创建平行世界时,白雪公主和小霍比特人的谜之相遇.在这个世界里,我们暂时有见到两个种族Human和Hobbit.种族不同所产生的最大区别是什么?当然个头是一部分,也仅仅是一部分而已.毕竟Human里也有怎么长都才那么高的吧:P.这里要说的区别是:他们的语言不通.是的,白雪公主一开始根本就听不懂小霍比特人在说什么. 在这个平行世界中,所有的H…
说起Adapter,STL里的stack和queue都是adapter,底层是deque,隐藏了deque的一些接口,使得其可以达到FIFO是queue,LIFO是stack. The STL stack is a container adaptor. That is, it is not a "first-class" container, but instead simply "adapts" one of the sequential first-class…
这个设计模式是我这两天刚学的,这儿算是我的读书笔记发布出来是供大家一起学习,后面有我自己的感悟,下面是我网上整理的 以下情况使用适配器模式 • 你想使用一个已经存在的类,而它的接口不符合你的需求. • 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作. • (仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口.对象适配器可以适配它的父类接口. 其实现方式主要有两种: 类适配器 对象适配器…
设计模式总共有23种模式这仅仅是为了一个目的:解耦+解耦+解耦...(高内聚低耦合满足开闭原则) 介绍: 将两个不兼容的类纠合在一起使用,属于结构型模式,也有人称它为wrapper(包装类). 包装类(Adapter):指的就是Adapter.即包装不兼容接口的对象. 适配者(Adaptee):包装的对象.即被适配的类. 双向适配: 其实这些设计模式简单了解一下就行,还是那句话设计模式总共有23种模式这仅仅是为了一个目的:解耦+解耦+解耦...(高内聚低耦合满足开闭原则) 强调的是今后扩展功能,…
适配器模式 适配器模式通俗来讲,其实就是对客户端添加新的类但却不修改客户端和新的类的接口.此时我们需要自己来实现适配,在适配器模式中有Target对象,即客户端所需要的接口对象,Adaptee对象,即需要适配的对象,中间需要Adapter对象来进行适配.简单来说,客户端要用某个类的接口,但是和客户端所用的通用接口不一致,此时就需要适配器来统一接口供客户端调用.适配器模式一般在后期维护客户端的时候才会用到,因为初期肯定不会出现设计接口不一致的问题(不过也可能是代码复用导致了不一致).适配其有两种,…
前言 Adapter设计模式,允许客户端使用接口不兼容的类. 昨天收拾一些以前的东西,发现了藏在柜子里的一条线,这条线叫做OTG.这条线的一端是micro-usb的输出口,另一端是usb的输入口.这条线,就是Adapter.手机如果想要使用U盘,会发现这个U盘的usb输出口太大了,根本插不进手机的接口.怎么办呢?使用适配器就好! 只要手机插上OTG,U盘再接上OTG,这样手机就可以欢快地使用U盘啦. 这是硬件的适配器,手机作为客户端,原本不能使用接口不兼容的U盘.手机只认它能认的接口,micro…
一.适配器模式 适配器模式的主要作用是在新接口和老接口之间进行适配.将一个类的接口转换成客户端期望的另外一个接口.其实适配器模式有点无赖之举,在前期设计的时候,我们就不应该考虑适配器模式,而应该通过重构统一接口. 二.适配器模式分为类适配器模式和对象适配器模式 类适配器模式:适配器使用多重继承对一个接口与另外一个接口进行匹配. 对象适配器模式:适配器在新接口中利用已有类的实例来实现接口的匹配. 三.UML图 类适配器模式 对象适配器模式 四.示例 类适配器模式 package com.visio…
返回目录 之前和大家一起谈了工厂模式和单例模式,今天来看一下另一种非常常用的模式,它就是适配器模式,第一次看到这个模式是通过“张逸”老师的“设计之道”这篇文章,在这里表adapter讲的很透彻,今天把张老师的文章拿过来,分享给大家! 何时能用到它? 对于一个软件生产商A来说,在过去的20年里,它们主要生产收音机,包括最早的老式半导体和现代的数字收音机,总之,是收音机.但不知道从什么时候开始,MP4媒体播放器出现了,这使得A生产商不得不去招新人,去生产适合大家的mp4播放器,这东西很好,能听音乐,…
一.模式解析 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 也就是说,如果已经写好了一个接口,但是又来了一种截然不同的接口,如果使用新接口可能导致原来大面积的修改,那么可以考虑使用适配器模式将新的接口适配旧接口. 适配器接口比较简单,而且适配一词现实中用的也比较多,如电源适配器,都是一个道理,所以直接上代码 二.模式代码 1.原有接口 package adapter.patten; public interface Tar…