设计模式 适配器-Adapter

适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。

直接上图。下面是对象适配器的类图。由于Java不支持多继承。所以这是Java的适配器实现方式。

结合Head First例子:一个火鸡适配器 TurkeyAdapter实现Duck接口。里面有一个Turkey成员(Adaptee)。

时间: 2024-08-02 02:44:57

设计模式 适配器-Adapter的相关文章

设计模式--适配器(Adapter)模式

今天学习另一个设计模式,适配器(Adapter)模式,这是一个共同方向,但有特殊要求,就应用到此设计模式.写到这里,想起很久以前,有写过一篇<ASP.NET的适配器设计模式(Adapter)>http://www.cnblogs.com/insus/archive/2013/02/04/2891426.html ,但是似乎没有适配器的味道. 比如一个系统,开发时设计好各种权限,但某一种,客户提出要求,需要一个特殊的权限来操作.只好开发一个适配器来让其有这个特殊操作权限. 用代码来举例吧. 先定

iOS常用设计模式——适配器Adapter

1.什么是适配器设计模式(Adapter)   (What) 适配器设计模式是一种结构型设计模式, 它的作用是把一个类的接口转换成客户希望的另外一个接口,从而使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 适配器设计模式有两种实现方式:1.)通过继承来实现两个接口,叫类适配器: 2.)通过引用来避免对象适配器继承被适配对象,叫对象适配器. 图1: 类适配器的UML图 在类适配器中,Adapter与Adaptee之间的关系是继承,我们通过继承来实现对Adaptee中+ specific

Java设计模式 —— 适配器(Adapter)

# 标签: 读博客 Adapter Pattern / Wrapper Pattern 什么时候需要适配,需要包装?肯定是你给我的,现有的服务提供的不好用,我才需要给你进行一下包装再用,或者适配之后再用. Android中,数据的list能直接放到view上面么?不能吧,所以搞了个adapter适配一下,变成了一个封装类,这个封装类是可以安在view上,或者说给view提供数据源的. 你笔记本电脑需要12V的直流电,但是你家里只有220V交流电或者110V交流电,所提供的,并不是所需的,不能直接

Java读源码学设计模式:适配器Adapter

适配器模式相关源码:slf4j-1.6.1.hibernate-3.6.7 大家都知道,log4j是一个广泛使用的日志工具,除此之外,sun公司在JDK中也有自己的日志工具,也就是java.util.logging.Logger.当然还有其他一些日志工具. 多种日志工具功能和使用方式类似,一般都包含debug.info.warn.error等日志级别的方法,但却没有实现共同的接口.这一点不像JDBC,虽然关系型数据库种类很多,例如MySQL.Oracle等,但是有一套统一的接口,也就是JDBC.

设计模式学习心得&lt;适配器 Adapter&gt;

适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁.这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能. 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能. 概述 意图 将一个类的接口转换成客户希望的另外一个接口. 适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 主要解决 主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的. 何时使用 系统需要使用现有的类,而此类

设计模式 - 适配器模式(adapter pattern) 枚举器和迭代器 详解

适配器模式(adapter pattern) 枚举器和迭代器 详解 本文地址: http://blog.csdn.net/caroline_wendy 参考适配器模式(adapter pattern): http://blog.csdn.net/caroline_wendy/article/category/2281679 Java早期版本的枚举器(Enumeration)和现在的迭代器(Iterator) 可以使用适配器(adapter)进行转换. 适配器(adapter)代码: /** *

设计模式——适配器

又分为三种: 类的适配器模式: package designpattern.structure.adapter.classadapter; public interface ITarget { public void method1(); public void method2(); } package designpattern.structure.adapter.classadapter; public class Source { public void method1() { Syste

读书笔记之设计模式-适配器和外观模式

结构型:Adapter与Facade(适配器和外观模式) 一般作为阅读材料,首先想要明确的是我现在了解的设计模式的初衷,即为了解决什么问题. 适配器,如果有买过港版Iphone在内地使用的人应该会有三角大插头必须接一个转换器才能在一般的插座上使用的情况,当然这只是比较直观的感受.其实我们平时用的手机充电器都是属于适配器,试想如果我们没有这个充电器,我们如何利用普通插座给手机充电? 适配器的定义:将手头上所持有的接口转换成我们需要的接口(业务场景:经常是为了适配旧程序或者对接2套系统的时候使用,当

swift 之设计模式 适配器

大学的时候,有一个<近世代数>的教授,他上课从来不看课本,并且也不按课本来讲解课程,但是他讲的东西比书本深刻形象(幽默,口才杠杠的),有层次感,除了授业,他还经常给我讲一些为人处世,做学问的方法[他是我尊敬的老师之一].  学过这门课的人都知道这门课全是理论,群论,环,域等,各种理论证明,各种装逼各种飞.  现在课本上的还回去的基本上还回去了,留下更多的就是他给我讲的一些方法,在这里引入一下: 掌握一个新概念: 1. 背景引入,为什么会有这个概念产生 2. 是什么?拆分概念的各种条件,名词,结