三九宝宝网宝宝百科宝宝知识

软件工程:实例化适配器Adapter模式

12月10日 编辑 39baobao.com

[最新2017年墨尔本大学软件工程商务硕士专业]墨尔本大学(: .6467./),始建于1853年,是坐落于澳大利亚墨尔本的世界顶尖研究型大学,南半球首屈一指的学术重镇 。在历年各大权威世界大学排名中,稳居世界前40,在2016年ARWU世界大学...+阅读

结构模式:描述如何将类或者对象组合在一起形成更大的结构。

适配器模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

使用场合:

1)系统需要使用现有的类,而此类的接口不符合系统的需要。

2)想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。这些源类不一定有很复杂的接口。

3)(对对象的适配器模式而言)在设计里,需要改变多个已有的子类的接口,如果使用类的适配器模式,就要针对每一个子类做一个适配器类,而这不太实际。

类/对象的适配器模式:

1. .cleversoft.designpatterns.adapter.Target.ja:

package .cleversoft.designpatterns.adapter;

public interface Target {

public void request();

}

2. .cleversoft.designpatterns.adapter.Adaptee.ja:

package .cleversoft.designpatterns.adapter;

public class Adaptee {

public void specificRequest() {

System.out.println("Adaptee: SpecificRequest");

}

}

3. .cleversoft.designpatterns.adapter.ClassAdapter.ja:

package .cleversoft.designpatterns.adapter;

public class ClassAdapter extends Adaptee implements Target {

public void request() {

specificRequest();

}

}

4. .cleversoft.designpatterns.adapter.ObjectAdapter.ja:

package .cleversoft.designpatterns.adapter;

public class ObjectAdapter implements Target {

private Adaptee adaptee;

public ObjectAdapter(Adaptee adaptee) {

this.adaptee = adaptee;

}

public void request() {

adaptee.specificRequest();

}

}

5. .cleversoft.designpatterns.adapter.Client.ja:

package .cleversoft.designpatterns.adapter;

public class Client {

public static void main(String[] args) {

System.out.println("Object Adapter");

Adaptee adaptee = new Adaptee();

ObjectAdapter objectAdapter = new ObjectAdapter(adaptee);

objectAdapter.request();

System.out.println("Class Adapter");

ClassAdapter classAdapter = new ClassAdapter();

classAdapter.request();

}

}

以下为关联文档:

爱尔兰国立梅努斯大学软件工程硕士申请案例学生:杨同学大学背景:国内本科毕业,计算机专业,雅思6.5分学生背景:申请加拿大硕士被拒绝申请学校:爱尔兰国立梅努斯大学辅导老师:柯嘉姓 名:柯嘉电 话:021-50902615所属部门:香港...

新西兰留学软件工程专业详解本站讯随着科技的不断发展和进步,计算机领域慢慢崛起,而软件工程作为一个新兴的热门专业也逐渐出现在大家的视野之中,成为不少学生留学新西兰的首选,说起新西兰留学软件工程专业...

2017阿德莱德大学软件工程硕士专业解析阿德莱德大学软件工程硕士专业受到澳大利亚计算机协会ACS认证,为期2年的学习,学生能够掌握定义软件需求,进行软件设计、架构、测试与维护的知识、工具和方法。软件工程也是澳洲...

最新2017年墨尔本大学软件工程硕士专业墨尔本大学(: .6467./)位于国际化大都市墨尔本,距其市中心仅几分钟路程。墨尔本城市环境非常优雅,是一个充满生机的文化、社交、体育、商业中心城市,曾荣获联合国人居奖,连续多年...

信息系统软件工程监理的几点体会大型信息系统建设是一项投资大、周期长、知识密集、高风险的系统工程,行业新颖、人员年轻、科技含量高、智力密集、所涉及的领域宽广、对实践经验要求高。但目前信息系统工程...

软件工程软件工程基本概念软件工程自从1968年首次提出软件工程一词以来,软件工程已成为计算机软件的一个重要分支和研究方向。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方...

全国计算机等级考试四级软件工程论述题真题论述题真题1.(1999年)软件测试是软件质量保证的重要措施。测试的目的是在软件投入生产性运行前,应尽可能地发现并排除软件中隐含的各种错误。测试是对软件规格说明、设计...

软件工程常用术语database数据库 (1) 根据为一个或多个应用程序提供服务的方案存储的相关数据(带有冗余控制)的集合。(2) 存储在系统中的所有数据文件。(3) 存储在一起并由数据库管理系统管理...

软件工程进度安排 软件开发项目的进度安排可以有两种考虑方式。第一种,系统最终交付使用的日期已经确定,软件开发机构必须在合同规定的时间内安排;第二种,只确定了大致的年限,最后交付使...

推荐阅读
图文推荐