结构型设计模式之适配器设计模式的两种实现方法
目录
一、适配器模式的概念和使用介绍
二、通过创建适配器类继承第三方模块并实现接口适配方式
三、通过穿见适配器类并配合对象创建使用实现接口适配方式,没有继承
一、适配器模式的概念和使用介绍
1、问题引入:
- 生活中的适配器: 比如电脑的各种适配器,手机充电器等
- 软件中: 做项目的时候,有时会需要单独设计或者买一个模块集成到项目中。
模块获取有两种方式:
第一种 是定制,给出要求;
第二种 是:直接购入就是非定制的,这种情况下出现第三方的接口和我们需要的接口不同是很正常的,但是我们又得集成到项目中,就得做适配
2、适配器模式的概念: 将一个类的“接口”转换为需要的“另一个接口”,此处接口是广义概念
二、通过创建适配器类继承第三方模块并实现接口方式
1、测试步骤介绍:
- 创建一个AdapterDesignPattern控制台
- 创建IbizLogicalInterface接口类
- 基于IbizLogicalInterface类实现接口ABizLogical、BBizLogical
- 创建一个类CBizLogical模拟第三方模块,用来测试适配器模式
- 创建一个适配器类AdapterBaseClass继承CBizLogical同时实现接口
- program类内测试三个接口实现类的实现结果
2、补充:
- 在适配器模式 实现过程中,在实现常规业务的同时,还可以增加我们想要的东西,这点其实就是AOP思想的一个体系
- 总之就是将不符合需要的接口做二次包装(可增加其他业务),对调用者没有任何影响
3、代码实现步骤:
(1)、根据步骤创建所需类
(2)、接口IbizLogicalInterface代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AdapterDesignPattern
{
public interface IbizLogicalInterface
{
void DoLogical1<T1, T2>(T1 t1 ,T2 t2 );
void DoLogical2<T1, T2>(T1 t1, T2 t2);
void DoLogical3<T1, T2>(T1 t1, T2 t2);
//还可以继续添加其他接口
}
}
(3)、接口实现ABizLogical代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AdapterDesignPattern
{
public class ABizLogical : IbizLogicalInterface
{
public void DoLogical1<T1, T2>(T1 t1, T2 t2)
{
Console.WriteLine("A业务实现接口&#x