知识大全 Adapter[1]

Posted

篇首语:知识象烛光,能照亮一个人,也能照亮无数人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Adapter[1]相关的知识,希望对你有一定的参考价值。

C#设计模式:Adapter[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  意图

  把一个类的接口变换成客户端所期待的另一种接口 从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作    场景

  假设网络游戏的客户端程序分两部分 一部分是和服务端通讯的大厅部分 大厅部分提供的功能有道具购买 读取房间列表 创建房间以及启动游戏程 序 另一部分就是游戏程序了 游戏程序和大厅程序虽然属于一个客户端 但是由不同的公司在进行开发 游戏大厅通过实现约定的接口和游戏程序进行通讯

  一开始的设计就是 大厅程序是基于接口方式调用游戏程序启动游戏场景方法的 在大厅程序开发接近完成的时候 公司决定和另外一家游戏公司合作 因此希望把大厅程序能适用另一个游戏 而这个新游戏的遵循的是另一套接口 是不是可以避免修改原先调用方法来启动场景呢?或许你会说 既然只有一个方法修 改 那么修改一下也无妨 我们假设大厅程序和游戏程序之间有 个接口 其中的大部分都有修改呢?因为游戏程序接口的修改 大厅程序可能要修改不止 个地方 这样接口的意义何在呢?

  此时可以考虑使用Adapter模式来适配这种接口的不匹配情况

using System; using System Collections Generic; using System Text; namespace AdapterExample class Program static void Main(string[] args) Lobby lobby = new Lobby(); lobby CreateRoom( HalfPaper ); lobby StartGame(); interface IGame void StartScene(string sceneName); void EnterPlayer(string playerName); class Lobby private string sceneName; public void CreateRoom(string sceneName) this sceneName = sceneName; public void StartGame() IGame game = new GameAdapter(); game StartScene(sceneName); game EnterPlayer( yzhu ); class Game public void LoadScene(string sceneName string token) if (token == Abcd ) Console WriteLine( Loading + sceneName + ); else Console WriteLine( Invalid token! ); public void EnterPlayer(int playerID) Console WriteLine( player: + playerID + entered ); class GameAdapter : IGame private Game game = new Game(); public void StartScene(string sceneName) game LoadScene(sceneName Abcd ); public void EnterPlayer(string playerName) game EnterPlayer(GetPlayerIDByPlayerName(playerName)); private int GetPlayerIDByPlayerName(string playerName) return ; cha138/Article/program/net/201311/15401

相关参考

知识大全 Java设计模式之Adapter模式

Java设计模式之Adapter模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  通常客户类(

知识大全 C#中的Adapter设计模式浅析

C#中的Adapter设计模式浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  意图  把一个

知识大全 java设计模式之 Adapter(纠合不兼容的类)

java设计模式之Adapter(纠合不兼容的类)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 适配器(adapter)模式

  适配器模式的宗旨是保留现有类提供的服务向客户提供接口使得原本接口不兼容而功能相同的类一起工作客户提供接口让实现一些个功能而我们已经有类实现了相同的功能但是两者的接口是不兼容的现在可以实现一个新的类

知识大全 教程:适配器模式(Adapter Pattern)组图

教程:适配器模式(AdapterPattern)组图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 25种java模式代码参考手册

  抽象工厂(AbstractFactory)模式意图:为特定的客户(或情况)提供特定系列的对象  类的适配器(Adapter)模式意图:将一个类的接口转换成客户希望的另外一个接口  对象的适配器(A

知识大全 电脑上怎样使用磁卡阅读器

电脑上怎样使用磁卡阅读器,浩顺磁卡阅读器该怎么用你说的是ADAPTER吗?新的电脑上都有个“读卡器”的,直接插进去就可以了。旧的电脑上没有,可以去买一种U盘,可以把读卡器插上的那种。然后再把U盘插到电

知识大全 80:4+1+1-1-1-1-1-1

80:4+1+1-1-1-1-1-1,67—56—1—1—1—1—1—1—1—2-21+1+1+1+1+1+1+····100×0=50501+1+1+11+1+1+11-1×1=?答的快就采纳261

知识大全 1/2+1/6+1/12+1/20+1/30+1/42= 80分抵押

计算1/2+1/6+1/12+1/20+1/30+1/42=80分抵押!方法一:呵呵,很简单1/2=1-1/21/6=1/2-1/31/12=1/3-1/4……1/42=1/6-1/7相加只剩下1/2

知识大全 谁能够告诉我1/2+1/6+1/12+1/20+1/30+……+1/9900=?

谁能够告诉我1/2+1/6+1/12+1/20+1/30+……+1/9900=?=1-1/2+1/2-1/3+……+1/99-1/00=1-1/100=99/100谁能告诉我求1/2+1/6+1/12