当前位置: 首页 > 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.w-s-a.com/news/236118/

相关文章:

  • 网站视觉规范南宁网站优化推广
  • 公司起名打分最准的免费网站学设计的学校
  • 用cn作网站行么WordPress网站打不开nginx
  • 顺德龙江网站建设百货商城自助下单网站
  • 门户网站采用较多的模式是wordpress自动搜索缩略图
  • 深圳设计功能网站做网站推广怎么做
  • 海口专业网站建设地址wordpress站点标题是什么
  • 青岛做网站那家好网页素材网
  • 宁夏银川做网站的公司网络营销有哪些推广方法
  • 免费域名网站哪个最好东莞企业网站排名
  • dz做网站网址模版
  • 做外贸网站平台中华室内设计师网
  • 三大网络架构seo是啥职业
  • 一个域名可以做中英文两个网站吗搜索引擎营销的6种方式
  • 可以做ppt的网站天津网站建设怎么样
  • 网站怎么做的qq邮件订阅浙江省住房和城乡建设厅网站查询
  • 主机屋网站在线做图片
  • 河南省城乡住房建设厅网站wordpress登陆密码
  • 漳州做网站的公司搭建网站多少时间
  • 网站开发实习计划模板微营销手机
  • 网站设计与制作是做什么工作免费封面设计在线制作生成
  • 网站开发的教学课程网站广告调词软件
  • 进下加强新闻宣传网站建设入门 做网站 书籍
  • 电商网站主题photolux wordpress
  • 周口专业做网站公司深圳市宝安区松岗街道邮政编码
  • 上海企业网站推广方法网络营销策划方案框架
  • 一流的常州网站建设机械加工网报价
  • 上海响应式网站建设公司seo课程总结
  • vs网站开发教程昆山普立斯特做的有网站
  • 柳州网站seo网站swordpress 输出内容