c#真正的适配器模式
2021-05-03 00:26
标签:bsp 调用 tap 模型 sock nes 代码 效果 generic 这个栗子是真正意思上的适配器模型;堪称完美 直接上代码; 当前接口,无法满足需求(无法通过新增实现来完成拓展,又想调用新的接口,来满足需求; 来满足新旧接口不一致,(当前,接口,新旧不一致的情况)或者叫不一致的方法;达到代码重用的目的; c#真正的适配器模式 标签:bsp 调用 tap 模型 sock nes 代码 效果 generic 原文地址:http://www.cnblogs.com/mc67/p/7757837.htmlusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication26
{
public interface IJapanSocket
{
void Charge(int a,int b);
}
//它不能附加我丰富的想想和情感,所以,不能创造一种东西;
//了解自己的特性 然后寻找一种媒介 借助这个媒介而让自己产生,产出更大的价值或各种产物;
public class JapanSocket:IJapanSocket
{
public void Charge(int a,int b)
{
Console.WriteLine("在日本进行各种充电滴呀;输出电压...{0}",a+b);
}
}
public interface IChineseSocket
{
void Charge(int a ,int b, int c);
}
public class ChineseSocket : IChineseSocket
{
public void Charge(int a ,int b,int c)
{
Console.WriteLine("利用日本插口+适配,打到我们的充电220v电气的目的.........当前输出电压{0}",a+b+c);
}
}
//适配器模式,要实现旧的接口,然后实现性的新接口滴呀;
//在不修改原有方法的
//那就基于我们事件编程,效果很好滴呀;
public class Adapter : IJapanSocket
{
//新的接口;
public IChineseSocket ChineseSocket { get; internal set; }
private Adapter() { } //不允许没事初始化数据,就去使用我们的类滴呀;
public int AdataperQutity { get; private set; }
public Adapter(IChineseSocket chineseSocket, int adataperQutity)
{
ChineseSocket = chineseSocket;
AdataperQutity = adataperQutity; //适配类提供的量
}
//旧的接口,实现性的接口;
public void Charge(int a,int b)
{
ChineseSocket.Charge(a,b,AdataperQutity);
}
}
public class Hotel
{
public void DoSomething()
{
////这样就是我们的 常规接口模式;
//IJapanSocket socket = new JapanSocket();
//socket.Charge();
//这样才到我我们正在适配的目的
ChineseSocket chinese = new ChineseSocket();
Adapter adapter = new Adapter(chinese,110);
IJapanSocket japan = adapter;
japan.Charge(55,55);
//掉的日本的接口,去是中国的实现;
//这样就型号才能了我们的适配器模式;
//我们掉的japan的 方法,去是一种新额实现滴呀;
//这样的做法很酸爽滴呀;
}
}
class Program
{
static void Main(string[] args)
{
Hotel h = new Hotel();
h.DoSomething();
Console.ReadLine();
}
}
}
上一篇:定制预装软件的win10系统