AdapterPattern

import org.omg.PortableServer.AdapterActivator;

/**
 * 分两种情况:
 * 1.类适配器
 * 2.对象适配器
 * 作用:让原本接口不兼容的两个类可以在一起工作
 * 比如说三孔插座适配两孔的,适配器只能配的更少,比如三孔配成两孔
 * @author TMAC-J
 *
 */1.类适配器
public class AdapterPattern {

	public class Adaptee{
		public void doSomething(){
			System.out.println("doSomething...");
		}
	}

	interface Target{
		void doOtherSomething();
	}

	public class Adapter extends Adaptee implements Target{
		@Override
		public void doOtherSomething() {
			super.doSomething();
		}
	}

	public void test(){
		Target target = new Adapter();
		target.doOtherSomething();
	}

}	

2.对象适配器

      

public class Adaptee{
public void doSomething(){
System.out.println("doSomething...");
}
}

interface Target{
void doOtherSomething();
}

public class Adapter extends Adaptee implements Target{

private Adaptee adaptee;

public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}

@Override
public void doOtherSomething() {
adaptee.doSomething();
}
}

public void test(){
Target target = new Adapter(new Adaptee());
target.doOtherSomething();
}


  

时间: 2024-12-24 18:17:14

AdapterPattern的相关文章

《Head First 设计模式》之适配器模式与外观模式

适配器模式(Adapter) 适配器(adapter-pattern):将一个类的接口,转换成客户期望的另一个接口.适配器让原来接口不兼容的类可以合作无间.两种形式: 对象适配器(组合) 类适配器(多重继承):在Java中不能实现 外观(facade-pattern):提供了一个统一的接口,用来访问子系统中的一群接口.外观定义了一个高层接口,让子系统更容易使用. 原则 最少知识原则:只和你的密友谈话 要点: 当需要使用一个现有的类而其接口不符合需要时,使用适配器.适配器改变接口以符合客户期望.

观察者模式(observer)之委托(delegate) c#简单例子

几个要点:模式使目标与观察都之间的依赖关系达到松耦合.通知会自动传播 例子:玩家击中敌人后发生一系列变化:发后爆炸.敌人少1个.... namespace adapterpattern { public partial class observerDelegateForm : Form { public observerDelegateForm() { InitializeComponent(); BaseData.EnemyNumber = 100; } private void btnDis

策略模式(strategy)行为型模式c#简单例子

例子主是运用策略模式分解几种移动算法. namespace adapterpattern { public partial class StrategyFrom : Form { public StrategyFrom() { InitializeComponent(); } private void btnDisplay_Click(object sender, EventArgs e) { Context context1 = new Context(new LeftMove ()); co

Decorator Pattern

Intent: Attach additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality. While reading the GangOfFour book on CD I noticed that the original name of this pattern was "W

修饰模式(Decorator结构型)C#简单例子

玩家基本功能是移动.运行等等.BaseAbility 新增加功能:1.伤害技能harmAbility:2.阻碍技能BaulkAbility:3.辅助技能assistAbility 玩家1增加伤害技能                                          Decorator harm = new HarmAbility(baseAbility); 玩家2增加伤害技能.阻碍技能                      Decorator baulk = new Baul

Java 并发专题 : Executor详细介绍 打造基于Executor的Web服务器

适配器模式,将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 应用场景:系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配.适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况. 代码实现: //Adapter.h #include "stdafx.h" #include <iostream> class Adaptee

【设计模式】适配器模式

1.定义 1.1 标准定义 适配器模式(AdapterPattern)的定义如下:Convert the interface of a class into another interface clients expect.Adapter lets classes work together that couldn't otherwise because of incompatible interfaces. (将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作

Adapter Pattern

Introduction:you have a class with some functions which are not exactly what you can use directerly to sovle the problem you face with.so some adaption is needed to help you reuse the old class without any modification but you can also add some new f

C#设计模式系列:适配器模式(Adapter)

在实际的软件系统设计和开发中,为了完成某项工作需要购买一个第三方的库来加快开发.这带来一个问题,在应用程序中已经设计好的功能接口,与这个第三方提供的接口不一致.为了使得这些接口不兼容的类可以在一起工作,适配器模式提供了一种接口的适配机制. 适配器模式的设计思想在生活中经常会应用到,如我们在给手机充电的时候,不可能直接在220V电源上直接充电,而是用手机充电器转换成手机需要的电压才可以正常充电,否则就不可以完成充电,这个充电器就起到了适配的作用. 1.适配器模式简介 1.1>.定义 适配器模式是通