c#真正的适配器模式
2017-10-30 22:07
176 查看
这个栗子是真正意思上的适配器模型;堪称完美
直接上代码;
当前接口,无法满足需求(无法通过新增实现来完成拓展,又想调用新的接口,来满足需求;
来满足新旧接口不一致,(当前,接口,新旧不一致的情况)或者叫不一致的方法;达到代码重用的目的;
直接上代码;
当前接口,无法满足需求(无法通过新增实现来完成拓展,又想调用新的接口,来满足需求;
来满足新旧接口不一致,(当前,接口,新旧不一致的情况)或者叫不一致的方法;达到代码重用的目的;
using 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(); } } }
相关文章推荐
- [转]C#验证Email是否真正存在,不是验证邮件格式,是邮件地址是否存在
- C# 设计模式 之 适配器模式(Adapter)
- c#通过标签读取word段落表格(解析无法操作读取的真正原因)
- 如何真正是在C#中PictureBox在其他容器中背景透明
- C#中实现真正的透明的PictrueBox
- C#设计模式系列:适配器模式(Adapter Pattern)
- C#设计模式06-适配器模式
- C# 设计模式巩固笔记 - 适配器模式
- C#如何做到真正的四舍五入
- .net跨平台解决方案------mono真正实现C#代码一次编写处处运行
- .net跨平台解决方案------mono真正实现C#代码一次编写处处运行
- C#实现无物理边距真正可打印区域的绘图\打印程序开发
- C# 中的 webbrowser.Document.Body.appendChild 没有真正写入到源网页中
- [转]C#验证Email是否真正存在
- c#真正判断文件类型
- (2010-08-19)C#设计模式之适配器模式
- C#设计模式-1、适配器模式(Adapter Pattern)(转载)
- c#设计模式-适配器模式
- 设计模式c#语言描述——建造者模式、适配器模式、合成(Composite)模式
- C# Invoke 和 BeginInvoke 的真正涵义