package
com.javaeye.kang.adapter;
/**
*
单项
适配器模式
*
面向接口
编
程
*
如果将
B
接到
A
上用(在原先
图
像清晰化的基
础
上再去噪声),
A
主
动
,
B
被
动
*
要点是:
继
承方法
*/
class
A {
public
void
funA() {
System.
out
.println(
"
图
像清晰化!
"
);
}
}
//
面向接口
编
程,噪声
处
理接口
//
使用接口来管理所有的
扩
展模
块
(被
动
方模
块
可能
进
行互相切
换
)
interface
YawpDispose {
public
abstract
void
yawpDispose();
}
class
OldYawpDispose
implements
YawpDispose {
public
void
yawpDispose() {
System.
out
.println(
"
图
像去噪声老算法!
"
);
}
}
class
NewYawpDispose
implements
YawpDispose {
public
void
yawpDispose() {
System.
out
.println(
"
图
像去噪声新算法!
"
);
}
}
//
对
A
进
行
扩
展,以后将
SubA
当成
A
来使用
//
在
SubA
的
funA
方法中增加
B
的
funB
方法
class
SubA
extends
A {
//
完全面向接口
编
程,可以将
YawpDispose
的任何
实现类对
象引
进
来(可以使用
spring
进
行
对
象注入)
private
YawpDispose
yawpDispos
;
public
SubA(YawpDispose yawpDispos) {
this
.
yawpDispos
= yawpDispos;
}
public
void
funA() {
super
.funA();
//
注意:
这
句代
码
可以去掉,假如去掉的
话
,就是功能替
换
了
//
(不再使用
图
像清晰化功能了,而是只是使用下面的去噪声功能了)
yawpDispos
.yawpDispose();
}
}
//
客
户
端、最
终
使用方
public
class
AdapterTest {
public
static
void
main(String[] args) {
//
想使用
图
像去噪声老算法就
new OldYawpDispose()
,想使用新算法就
new NewYawpDispose ()
//
下面
这
句
带
代
码
体
现
了多
态
,可
扩
充性比
较
好
YawpDispose
yawpDispos =
new
OldYawpDispose();
//
将去噪声
处
理的
对
象
传
到
SubA
对
象中去
SubA subA =
new
SubA(yawpDispos);
subA.funA();
}
}
|
相关推荐
首先,单向适配器(One-Way Adapter)是一种软件设计模式,常用于在网络游戏中隔离不同的组件,使它们能够以统一的方式交互,即使这些组件可能具有不同的接口和通信协议。在动态网络配置的场景下,单向适配器的作用...
适配器又分为单向适配器和双向适配器,在 android 中前者使用的比较频繁。比较常见的实现方式是:首先定义一个适配类,内部定义一个私有的需要适配的对象,该类提供一个构造函数,将该对象的一个实例作为参数传入,...
- **适配器模式(Adapter)**:通过适配器类,使得原本不兼容的类可以协同工作。分为单向和双向适配器。 - **组合模式(Composite)**:将对象组织成树形结构,允许用户对单个对象和组合对象进行一致的操作。 - *...
### 设计模式简介 设计模式是在软件工程领域中,针对特定问题所提出的...无论是工厂模式、策略模式还是适配器模式,每种模式都有其独特的应用场景和优势,理解并掌握它们对于任何一位软件工程师来说都是非常重要的。
Model-Adapter-View-Binder(MAVB)模式通过适配器和绑定器解耦Model和View之间的直接交互,提高了组件的复用性和可测试性。最后,Elm架构(TEA)是一种响应式架构模式,它通过单向数据流和纯函数来提高应用的可靠性...
**定义**: NAT模式是最常用的网络模式之一,它允许虚拟机通过主机连接到外部网络。在这种模式下,虚拟机对外部网络来说是不可见的,所有的网络请求都会被主机上的NAT服务拦截并转发。 **虚拟机与主机的关系**: - **...
保存给玩家的所有数据都通过 props(是的,单向)流回到包裹的组件中。 PlayerAdapter接受一个名为propertySheets的道具,其中包含您的应用所需的属性表架构。 属性表中的数据将与其他数据一起通过props流回您的...
结构型模式涉及如何组合类和对象以形成更大的结构,例如适配器模式(Adapter)、装饰器模式(Decorator)和代理模式(Proxy)等,这些模式帮助我们在不修改原有代码的情况下扩展功能。行为型模式则关注对象之间的...
2. **事件驱动的模型**:Spring Integration基于消息驱动的设计模式,因此JDBC适配器会生成一个消息,每个消息代表数据库查询的结果行。这些消息可以被其他处理链(如服务 activator 或 transformer)消费,进行...
8. IDoc适配器(IDoc Adapter):负责接收适配过的XML消息,并将其转换为SAP内部使用的IDoc格式,最后把IDoc数据传送到后端的R/3系统中。 9. BAPI:是SAP提供的用于特定业务操作的接口函数。例如,本练习中将使用...
默认的LinearLayoutManager仅支持单向滚动,而GridLayoutManager虽然支持行和列的滚动,但不满足本项目需求的头部和侧边栏固定。因此,我们需要创建一个继承自RecyclerView.LayoutManager的子类,重写其计算和布局...
2. SpringMVC:学习控制器(Controller)、模型(Model)、视图(View)和适配器(Adapter)的设计模式。 3. MyBatis:掌握SQL映射文件的编写,动态SQL的使用,以及与Java对象的映射配置。 4. Vue.js:学习Vue的基本...
适配器(Adapter) 适配器用于改变容器或算法的行为。常见的适配器包括: - **容器适配器**:如`stack`、`queue`、`priority_queue`等。 - **算法适配器**:如`reverse_iterator`、`iterator_adaptor`等。 #### 7. ...
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常...
ICE支持多种通信模式,包括同步、异步、单向和事件驱动,可以根据应用需求选择最合适的通信方式。此外,ICE还提供了强大的安全特性,如身份验证、授权和加密,确保了分布式系统间的通信安全。 Ice.ppt很可能是一个...
2. **适配器(Adapter)**:连接数据源和UI视图的桥梁。 - **BaseAdapter**:自定义适配器的基础类。 - **ArrayAdapter**:适用于数组数据类型的适配器。 - **CursorAdapter**:用于展示数据库查询结果。 - **...
TMU配置对于增强单向模式,可能是指优化了单向数据传输的性能,比如在仅需要单向高速传输的场景下。 19. **Bandwidth Allocation during Path Setup**: 路径设置期间的带宽分配策略,确保了在连接建立时,带宽...
回收中心是一个旨在支持以下模式的库:使用不可变的ViewModels的React性单向数据流。 它将RxJava的React性数据流与RecyclerView的高效UI结合在一起,并通过“视图”部分和“视图模型”支持UI组合。 入门 回收中心...
- **概念**:如同直接将水送达最终用户的单向输水管,专门用于读取数据,不支持数据的更新。 - **作用**:快速地读取只读数据流。 - **特点**:效率高,不支持数据更改,仅用于读取。 - **示例代码**: ```...