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

网站建设使用的什么软件有哪些方面网络游戏新规

网站建设使用的什么软件有哪些方面,网络游戏新规,wordpress flash,广东东莞厚街买婬女菜菜哥#xff0c;出大事啦怎么了#xff0c;你和男票分手了#xff1f;很正常#xff0c;谁让你男票是产经经理呢不是啦#xff0c;是我做的一个小游戏#xff0c;需求又变了#xff0c;程序我快改不动了说来让我欢乐一下#xff1f;菜菜哥#xff0c;咱两还能不能好… 菜菜哥出大事啦怎么了你和男票分手了很正常谁让你男票是产经经理呢不是啦是我做的一个小游戏需求又变了程序我快改不动了说来让我欢乐一下菜菜哥咱两还能不能好好相处了玩笑 玩笑show  time妹子开始抱怨起来01业务背景妹子的游戏是个对战类的游戏其中有一个玩家的概念玩家可以攻击这个业务正是妹子开始挠头的起点02第一次需求玩家有很多属性例如身高性别 blalalala ,玩家可以攻击其他玩家。产品狗YY妹子写程序也是很利索一天就把程序搞定了而且还抽象出一个palyer的基类出来堪称高级程序员必备技能//玩家的基础抽象类   abstract class Player    {        public string Name { get; set; }        //.        //.        //.        //玩家的攻击       public abstract void Attack();    }    //真实玩家    class PersonPlayer : Player    {        public override void Attack()        {            //to do something             return;        }    }01第二次需求游戏里要增加机器人玩家来增加在线的人数属性和真实玩家一样但是攻击不太一样产品狗这个需求修改还是难不住YY妹子没过几天代码改好了增加了一个机器人玩家的类用到了OO的继承。在这里为玩家抽象类点赞class RobotPlayer : Player    {        public override void Attack()        {            //修改攻击内容等 to do something             return;        }    }02第三次需求我要创建一批怪物没有真实玩家的那些属性但是和真实玩家一样有攻击行为产品狗这个时候YY妹子终于意识到攻击是一种行为了需要抽象出接口来了。//攻击接口    interface IAttack    {        void Attack();    }    //玩家的基础抽象类   abstract class Player    {               //其他属性代码省略一万字    }    //真实玩家    class PersonPlayer :Player, IAttack    {        public  void Attack()        {            //to do something             return;        }    }    //机器人玩家    class RobotPlayer :Player, IAttack    {        public  void Attack()        {            // to do something             return;        }    }    //怪物玩家    class MonsterPlayer : IAttack    {        public  void Attack()        {            // to do something             return;        }    }到了这里我们遇到了大家耳熟能详的面向接口编程没错这个做法是对的。这也是设计的一大原则程序依赖接口不依赖具体实现。这里要为YY继续点赞。顺便说一下在多数情况下很多同学就到此为止了01第四次需求我要设计玩家的攻击方式了目前有远程攻击近程攻击贴身攻击这三类其他需求 blalalalala。产品狗据说此刻YY妹子的心里是一万头羊驼飘过的状态。这次要怎么设计呢这也是菜菜要说的重点部分。现在我们需要静下心来思考一番了为什么我们使用了面向接口编程遇到这次需求程序还是需要修改很多东西呢设计原则找出应用中将来可能变化的地方把他们独立出来不需要和那些不变的代码混在一起。这样的概念很简单确是每个设计模式背后的灵魂所在。到目前为止设计中不断在变的是Attack这个接口更准确的应该是Attack这个行为。面向接口这个概念没有问题是大多数人把语言层面和设计层面的接口含义没搞明白真正的面向接口编程更偏向于面向架构中行为的编程另外一个角度也可以看做是利用OO的多态原则。说到这里我们可以更系统的给Attack行为定义成一类行为而具体的行为实现可以描述为一簇算法。想想看Attack行为其实不止作用于player的类型改日产品经理新加一个XX对象也具有攻击行为理想的情况是我只需要让这个xx对象有Attack行为即可而不需要改动以前的任何代码。你现在是不是对这个行为的定义理解的更深刻一些。另外一点到目前为止YY妹子的代码中一直是以继承的方式来实现行为这会有什么问题呢假如要想在程序运行时动态修改player的Attack行为会显得力不从心了。谈到这里又引入了其他一个设计理念一般情况下有一个可能比是一个更好。具体概念为多用组合少用继承。继承通常情况下适用于事物本身的一些特性比如玩家基类具有姓名这个属性继承类完全可以继承这个属性不会发生任何问题。而组合多用于行为的设计方面因为这个行为类型我可能会在多个事物中出现用组合能实现更大的弹性设计02面向行为编程千言万语不如10行代码封装行为一簇//攻击行为接口    interface IAttack    {        void Attack();    }    class RemoteAttack : IAttack    {        public void Attack()        {            //远程攻击        }    }    class ShortAttack : IAttack    {        public void Attack()        {            //近程攻击        }    }事物包含行为组合//玩家的基础抽象类    abstract class Player    {               //其他属性代码省略一万字    }    //真实玩家    class PersonPlayer : Player    {        //玩家可以有攻击的行为        IAttack attack;        public PersonPlayer(IAttack _attack)        {            attack  _attack;        }        public  void Attack()        {            //调用行为一簇算法的实现            attack.Attack();            return;        }        //玩家可以运行时修改攻击行为        public void ChangeAttack(IAttack _attack)        {            attack  _attack;        }    }   写在最后接口是一种规范和约束更高层的抽象更像是一类行为面向接口编程只是代码层体现的一种格式体现而已真正的面向接口设计更贴近面向行为编程●程序员修神之路--高并发下为什么更喜欢进程内缓存●程序员修神之路--高并发优雅的做限流有福利●程序员过关斩将--快速迁移10亿级数据●程序员修神之路--分布式缓存的一条明路附代码●程序员修仙之路--把用户访问记录优化到极致互联网之路菜菜与君一同成长长按识别二维码关注
http://www.sadfv.cn/news/313657/

相关文章:

  • 合肥网站网站建设厦门seo优化推广
  • 网站建设总体需求分析泉州那家做网站公司好
  • 备案网站名称与实际网站名称不一致罗湖网站设计
  • 舟山做网站的公司临沂网站建设厂家
  • 文件上传到沧州建设局网站上海html5网站制作公司
  • 做的网站 v2ex网络网络建设
  • 重庆赛区竞赛网站建设站长统计app软件下载官网安卓
  • 天津网站搭建河南建设工程造价信息
  • 门户网站推广方式购买一个网站多少钱
  • 电子商务网站建设报告只有后端可以做网站吗
  • 网站建设公司果动c企业营销型网站策划
  • 重庆旅游网站建设公司资源网站优化排名优化
  • 一家装修的网站怎么做怎么做谷歌推广
  • wordpress弹窗通知插件重庆seo网络推广关键词
  • 网站开发百灵鸟优化海报设计图片大全
  • 谁有人跟动物做的网站咸阳网站制作建设
  • 建设网站聊天室如何建网站模板
  • 做网站和推广公司开福区网站建设论坛
  • 能不能用自己的主机做网站郑州网站商城建设
  • 恩施哪里有做网站的苏州美丽乡村建设网站
  • 建设大学网站费用微信公众号开通商城
  • 网站建设费用怎么算昆明公司网站制作
  • 网站权重批量查询wordpress cos 配置
  • 网站建设费怎么做分录苏州建设项目备案网站
  • 垡头网站建设做网站都注意哪些东西
  • 网站建设朱宁做牛仔裤的视频网站
  • 网站建设一般需要什么软件免费下载android
  • 机械行业做网站网站咨询弹窗是怎么做的
  • 网站网页制作教程天津网站备案
  • 网站开发培训培训班影视网站怎么做优化