`

J2EE 设计模式之二 适配器模式

 
阅读更多
package com.design.model.adapter;

//目标1
interface  IJpan {
  public String provid110V();
}
//目标2
interface IChina {
	public String provid220V();
}

//适配器
interface IAadpter{
	public String provid110V();
	public String provid220V();
}


public class Jpan implements IJpan{
	@Override
	public String provid110V() {
		// TODO Auto-generated method stub
		return "110V";
	}

}	

class China implements IChina{

	@Override
	public String provid220V() {
		// TODO Auto-generated method stub
		return "220V";
}
	
}

//适配器转换  1 默认为类适配器   2 注释掉extends Jpan 为对象适配器   
class Adapter 
//  extends Jpan 
  implements IChina,IAadpter {

	//需注入IOC
	IJpan jpan= new Jpan();
	
	@Override
	public String provid220V() {
		// TODO Auto-generated method stub
		return "220V";
	}
	
	@Override
	public String provid110V() {
		// TODO Auto-generated method stub
		return jpan.provid110V();
	}
	
/*	public String provid110V() {
		// TODO Auto-generated method stub
		return super.provid110V();
	}*/
	
	public static void main(String[] args) {
		
		IAadpter adp= new Adapter();
		String str1=adp.provid220V();
		String str2=adp.provid110V();
		System.out.println(str1+"   "+str2);
	}
}

//输出:220V   110V

 

对象适配器模式:

 

 

 

package com.design.model.adapter;

import java.util.HashMap;
import java.util.Map;

/**
 * 适配器之 对象适配
 * @author jakbb
 *
 */

interface ICorpInfo {
	public String getCorpName();
	public String getCorpAddress();
}
interface ICorpInfo2 {
	public Map<String,String> getCorpInfo();
}

public class CorpInfo implements ICorpInfo{

	@Override
	public String getCorpName() {
		// TODO Auto-generated method stub
		return "中国移动";
	}

	@Override
	public String getCorpAddress() {
		// TODO Auto-generated method stub
		return "北京";
	}
}

class CorpInfo2 implements ICorpInfo2{

	@Override
	public Map<String, String> getCorpInfo() {
		// TODO Auto-generated method stub
		Map<String,String> map= new HashMap<String,String>();
		map.put("corpName", "中国联通");
		map.put("corpAddress", "北京朝阳");
		return map;
	}
}

class CorpAdapter extends CorpInfo2 implements ICorpInfo{
	
	Map<String,String> map = super.getCorpInfo();

	@Override
	public String getCorpName() {
		// TODO Auto-generated method stub
		return map.get("corpName");
	}

	@Override
	public String getCorpAddress() {
		// TODO Auto-generated method stub
		return map.get("corpAddress");
	}
	
	public static void main(String[] args) {
		ICorpInfo  corpInfo= new CorpAdapter();
		String address=corpInfo.getCorpAddress();
		String corpName=corpInfo.getCorpName();
		System.out.println(address);
		System.out.println(corpName);
	}
}


/*输出:
北京朝阳
中国联通*/

 

默认适配器:

 

 

 

1.对象适配器与目标客户关系为实现。

2.类适配器为与目标客户关系为依赖。

3.默认适配器 直接继承 不实现接口。


 

适配器模式不适合在系统设计阶段采用,没有一个系统分析师会在做详设的时候考虑使用适配器模式,
这个模式使用的主要场景是扩展应用中,就像我们上面的那个例子一样,系统扩展了,不符合原有设计的
时候才考虑通过适配器模式减少代码修改带来的风险。

 

 

 

  • 大小: 39.5 KB
分享到:
评论

相关推荐

    【中文】【J2EE设计模式】【(PDF) 】

    根据提供的文件信息,我们可以推断出这份文档主要与J2EE设计模式有关,并且提供了相关的下载资源。下面将从以下几个方面来详细介绍J2EE设计模式的相关知识点: ### J2EE设计模式简介 J2EE(Java 2 Platform, ...

    23种JAVA设计模式和15种J2EE设计模式

    #### 二、J2EE设计模式概览 J2EE(Java Platform, Enterprise Edition)是一套企业级Java应用开发的标准框架,它提供了许多高级服务,如事务管理、安全性和集群支持等。为了更好地利用这些服务,开发者们总结了许多...

    23种Java设计模式和15种J2EE设计模式.pdf

    在深入探讨《23种Java设计模式和15种J2EE设计模式》这一主题之前,我们首先需要明确设计模式的概念及其在软件工程中的重要性。设计模式是一种在特定情境下解决问题的模板,它描述了在软件设计中遇到的问题以及解决...

    实用J2EE设计模式编程指南

    《实用J2EE设计模式编程指南》是一本深入讲解如何在Java企业级环境中应用设计模式的书籍。在Java EE(以前称为J2EE)平台上,设计模式是开发可扩展、可维护和高效软件的关键工具。以下是一些核心知识点的详细说明: ...

    J2EE设计模式API

    **J2EE设计模式API** 是一套用于构建可扩展、高效和可维护的企业级Java应用程序的框架和最佳实践。设计模式是软件开发中经过验证的解决方案模板,可以在特定上下文中解决常见问题。J2EE(Java Platform, Enterprise ...

    j2ee的设计模式(最新版)

    "最新的购物思想、最新的购物理念、最新的市场便捷"这部分描述可能指的是J2EE设计模式在电子商务领域的创新应用,如微服务架构、前后端分离、容器化部署等现代技术趋势。代码开放意味着源代码可供学习和改进,这对于...

    J2EE设计模式与Structs详解

    通过这份"J2EE设计模式与Structs详解"资料,读者可以深入理解如何在实际项目中运用这些设计模式,以及如何借助Structs框架提升开发效率。精通Struts技术文档则结合实践经验,为开发者提供了宝贵的项目开发指导,包括...

    实用j2EE设计模式编程指南J2EE.rar

    《实用J2EE设计模式编程指南》是一本深入讲解如何在Java企业版(J2EE,现称为Java EE)环境中应用设计模式的重要参考资料。设计模式是软件开发中的宝贵经验总结,它提供了解决常见问题的可重用解决方案,极大地提高...

    j2ee设计模式22中

    【J2EE设计模式】是Java企业级应用开发中的重要组成部分,主要分为创建型、结构型和行为型三种模式。这些模式提供了优雅的解决方案,帮助开发者处理常见的设计问题,提高代码的可重用性、可扩展性和可维护性。 ### ...

    JAVA设计模式与J2EE设计模式.doc

    【JAVA设计模式与J2EE设计模式】 设计模式是软件工程中的一种标准解决方案,用于解决常见问题和构建高质量、可维护的代码。Java设计模式分为两大类:创建型模式和结构型模式,它们在J2EE(Java 2 Enterprise ...

    23种JAVA设计模式和15种J2EE设计模式 高清完整PDF版

    对于J2EE设计模式的介绍虽然没有具体描述,但它们通常是在Java企业版开发中,用于解决服务端的特定问题,如会话管理、事务处理、数据访问等方面的设计问题。J2EE设计模式的运用能够帮助开发者更好地构建企业级应用,...

Global site tag (gtag.js) - Google Analytics