当前位置: 首页 > news >正文

旅游网站开发流程重庆百度优化

旅游网站开发流程,重庆百度优化,做网站怎么实现鼠标经过图像,胶南市城乡建设局网站Unity实现设计模式——适配器模式 适配器模式又称为变压器模式、包装模式#xff08;Wrapper#xff09; 将一个类的接口变换成客户端所期待的另一种接口#xff0c;从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 在一个在役的项目期望在原有接口的基础…Unity实现设计模式——适配器模式 适配器模式又称为变压器模式、包装模式Wrapper 将一个类的接口变换成客户端所期待的另一种接口从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 在一个在役的项目期望在原有接口的基础上拓展那么适配器模式是最适合的。 即需要使用一个已有或新建的类但这个类又不符合系统的接口则可以使用适配器模式。 client需要使用适配器的对象不需要关心适配器内部的实现只对接目标角色。 Target目标角色和client直接对接定义了client需要用到的功能。 Adaptee需要被进行适配的对象。 Adapter适配器负责将源对象转化给client做适配。 下面还是使用两个例子来说明适配器模式 一使用比较抽象的例子来说明 1.Target class Target {public virtual void Request(){Debug.Log(Called Target Request());} }2.Adaptee class Adaptee {public void SpecificRequest(){Debug.Log(Called SpecificRequest());} }可以看到目标对象和待适配对象并不匹配 使用适配器来让二者联系起来 3.Adapter class Adapter : Target {private Adaptee _adaptee new Adaptee();public override void Request(){// Possibly do some other work// and then call SpecificRequest_adaptee.SpecificRequest();} }4.测试 public class AdapterStructure : MonoBehaviour {void Start( ){// Create adapter and place a requestTarget target new Adapter();target.Request();} }可以发现两个无关的类很自然的就联系起来了 二使用具体的例子来说明 现在有敌方攻击者的基类派生出了敌方坦克同时有敌方机器人但是机器人的接口和敌方攻击者的接口不同我们需要进行适配 1. IEnemyAttacker public interface IEnemyAttacker{void FireWeapon();void DriveForward();void AssignDriver(string driver);}2. EnemyTank public class EnemyTank : IEnemyAttacker{public void FireWeapon(){int attackDamage Random.Range(1, 10);Debug.Log(Enemy Tank does attackDamage damage);}public void DriveForward(){int movement Random.Range(1, 5);Debug.Log(Enemy Tank moves movement spaces);}public void AssignDriver(string driver){Debug.Log(driver is driving the tank);}}3. EnemyRobot public class EnemyRobot{public void SmashWithHands(){int attackDamage Random.Range(1, 10);Debug.Log(Robot causes attackDamage damage with it hands);}public void WalkForward(){int movement Random.Range(1, 3);Debug.Log(Robot walks movement spaces);}public void ReactToHuman(string driverName){Debug.Log(Robot tramps on driverName);}}可以看出这里不同当然可以对EnemyRobot派生自IEnemyAttacker接口然后重新实现接口但是在多人协作的场景这样是不允许的。同时该类可能在别处引用显然有很大的工作量要修改。 4. EnemyRobotAdaper public class EnemyRobotAdaper : IEnemyAttacker{EnemyRobot robot;public EnemyRobotAdaper(EnemyRobot robot){this.robot robot;}public void FireWeapon(){robot.SmashWithHands();}public void DriveForward(){robot.WalkForward();}public void AssignDriver(string driver){robot.ReactToHuman(driver);}}5.测试 public class AdapterPatternExample2 : MonoBehaviour{void Start(){IEnemyAttacker tank new EnemyTank();EnemyRobot fredTheRobot new EnemyRobot();IEnemyAttacker adapter new EnemyRobotAdaper(fredTheRobot);fredTheRobot.ReactToHuman(Hans);fredTheRobot.WalkForward();tank.AssignDriver(Frank);tank.DriveForward();tank.FireWeapon();adapter.AssignDriver(Mark);adapter.DriveForward();adapter.FireWeapon();}}
http://www.yutouwan.com/news/371264/

相关文章:

  • 网站内页模板合肥手机网站建设
  • 遵义市住房和城乡建设局官方网站6制作小游戏的软件
  • 影视公司网站建设seo优化神器
  • 产品营销方案案例范文网站维护优化
  • 建设网站模板下载营销软件开发
  • 北塘网站制作wordpress用户二级域名
  • 网站内容板块调换位置个人网站可以做自媒体吗
  • 建设银行淮安招聘网站做整装的网站
  • 门户网站建设使用语言注册网站代码
  • wordpress栏目出现404seo教程技术整站优化
  • 腾讯的网站是谁做的永久域名申请
  • 手机网站制作与建设南京市企业展厅设计公司
  • 深圳做网站推广三亚网站建设制作
  • 网站管理的主要内容做哪类视频网站需要视频证书
  • 温州网站建设专家珠宝网站源码
  • 网站开发和游戏开发的区别外网访问内网wordpress
  • 网站可兼容移动端asp.net mvc 网站开发
  • 怎么制作微信小程序游戏太原seo顾问
  • wordpress手机版网站易思espcms企业网站管理系统
  • 网站结构的类型线上注册公司流程和费用
  • 网站seo优化包括哪些方面做爰全过程免费的视频网站有声音
  • 公司企业网站建设步骤网站入口首页
  • 投放广告的网站国外炫酷网站设计
  • 工业设计网站排名浦东建设环评网站
  • 做网站选用什么域名比较好wordpress主题自定义添加后台设置
  • 可拖拽式网站建设网站建设中html网页
  • 做公司网站软件网站页面描述
  • 东莞网站制作十强wordpress权限说明
  • 南宁建站官网做网站 需要了解什么
  • asp网站开发环境搭建钟星建设集团网站