适配器模式 和 装饰模式 个人的理解笔记
2016-06-29 22:55
204 查看
适配器模式:
interface Target{
public void request();
}
class Adapter1{
public void specificRequest(){
system.out.println(" 这个是个特殊方法,要被包装起来“);
}
}
1、对象适配器
class Adapter implements Target{
private Adapter1 adapter1;
public Adapter(Adapter1 adapter1){
this.adapter1 = adapter1;
public void request(){
this.adapter1.specificRequest(); // 这里是是用委托的方式完成特殊功能。
}
}
}
2、类适配器
class Adapter extends Adapter1 implements Target{
public void request(){
super.specificRequest();
}
}
装饰模式:
装饰模式和适配器模式的类比:
从定义上看装饰模式是对核心对象或者功能的扩展,适配器模式是把对象或者功能放到一个新对象中引用。举个例子,现在书城卖道德经的书,有线装版,有精装版,有日文版,有英文版,其中线装版和精装版就是装饰模式,日文版和英文版就是适配器模式,各种版本都是为迎合不同消费者的不同需求。为什么呢?因为线装版和精装版的道德经虽然包装不同,但内容相同,日文版和英文版就不同,这两个版本的内容就可能和原版的不同,文化差异嘛,翻译的内容虽来自道德经,但根据不同国家的文化,思维逻辑什么的就可能改变一些想法。
interface Target{
public void request();
}
class Adapter1{
public void specificRequest(){
system.out.println(" 这个是个特殊方法,要被包装起来“);
}
}
1、对象适配器
class Adapter implements Target{
private Adapter1 adapter1;
public Adapter(Adapter1 adapter1){
this.adapter1 = adapter1;
public void request(){
this.adapter1.specificRequest(); // 这里是是用委托的方式完成特殊功能。
}
}
}
2、类适配器
class Adapter extends Adapter1 implements Target{
public void request(){
super.specificRequest();
}
}
装饰模式:
装饰模式和适配器模式的类比:
从定义上看装饰模式是对核心对象或者功能的扩展,适配器模式是把对象或者功能放到一个新对象中引用。举个例子,现在书城卖道德经的书,有线装版,有精装版,有日文版,有英文版,其中线装版和精装版就是装饰模式,日文版和英文版就是适配器模式,各种版本都是为迎合不同消费者的不同需求。为什么呢?因为线装版和精装版的道德经虽然包装不同,但内容相同,日文版和英文版就不同,这两个版本的内容就可能和原版的不同,文化差异嘛,翻译的内容虽来自道德经,但根据不同国家的文化,思维逻辑什么的就可能改变一些想法。
相关文章推荐
- 五大常用算法之二:动态规划算法
- Android之 FLAG_ACTIVITY_CLEAR_TASK
- coos2d 类详细之 CCTextFieldTTF
- ios开发
- [Docker 入门--安装篇]阿里云ECS服务器Centos系统上安装docker
- HMM(隐马尔可夫模型)
- ipython 远程web server搭建
- Android Dagger2.0依赖注入详解(实例讲解)
- 【leetcode】14. Longest Common Prefix
- Buffer.byteLength(字符串,编码方式)计算指定字符串的字节数
- HTML <form> 标签的 action 属性
- Permission denied: user=Administrator, access=WRITE, inode="/aa/mytest10.txt":anne:supergroup:drwxr
- js中访问对象的方法
- JavaScript面向对象详解
- 从今天开始写博客,以此文章作纪念!!
- 五大常用算法之一:分治算法
- 面向对象的六大原则(Java、android基础)
- android文件存储
- Spring中涉及到线程类的事务控制实例
- 微软Azure云之企业Exchange 2016部署4—配置DC及AD站点