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

网站备案人有什么责任郑州最好的设计公司

网站备案人有什么责任,郑州最好的设计公司,wordpress E405,漯河 做网站象棋子 设计模式今天#xff0c;我们将借助一个示例来尝试了解策略模式。 我们将考虑的示例是国际象棋游戏。 这里的目的是解释策略模式#xff0c;而不是构建全面的国际象棋游戏解决方案。 策略模式#xff1a;策略模式被称为行为模式–用于管理对象之间的算法#xff0… 象棋子 设计模式 今天我们将借助一个示例来尝试了解策略模式。 我们将考虑的示例是国际象棋游戏。 这里的目的是解释策略模式而不是构建全面的国际象棋游戏解决方案。 策略模式策略模式被称为行为模式–用于管理对象之间的算法关系和职责。 策略模式的主要好处是在运行时选择算法/行为。 让我们尝试通过实现设计棋盘游戏来理解这一点。 在国际象棋中有不同的角色例如国王皇后主教并且所有角色都有不同的动作。 此设计可能有许多解决方案让我们一个一个地探索 第一种方法是在每个类中定义运动每个字符都有其自己的move实现。 这样就没有代码可重用性并且我们无法在运行时更改实现。 制作一个单独的MovementController类然后为对象的每种类型的运动放置一个if否则。 public class BadDesginCharacterMovementController {public void move(Character character){if(character instanceof King){System.out.print(Move One Step forward);}else if(character instanceof Queen){System.out.print(Move One Step forward);}else if(character instanceof Bishop){System.out.print(Move diagonally);}} } 这是一个较差的设计具有很强的耦合性而且使用if / else使其难看。 因此我们希望有一个设计在其中可以进行松散耦合可以在运行时确定运动算法并且具有代码可重用性。 让我们看看使用策略模式的完整实现。 下面是我们的实现的类图 完整的源代码可以从这里下载。 我们将有一个基本的抽象类作为Character Class所有的角色都可以扩展并设置自己的MovementBehaviour实现。 public class Character {private MovementBehaviour movementBehaviour;String move(){return movementBehaviour.move();}public void setMovementBehaviour(MovementBehaviour movementBehaviour) {this.movementBehaviour movementBehaviour;} } 这个班级有一个运动行为 public interface MovementBehaviour {String move(); } 因此每个角色国王女王主教都将扩展角色并且他们可以有自己的运动行为实现。 public class King extends Character {public King() {setMovementBehaviour(new SingleForward());} } 为了简单起见在这里我在King的构造函数中调用了setMovemementBehaviour方法。 同样另一个字符皇后可以定义为 public class Queen extends Character {public Queen() {setMovementBehaviour(new SingleForward());} } 并且Bishop为 public class Bishop extends Character {public Bishop() {setMovementBehaviour(new DiagonalMovement());} } 不同动作的实现可以如下 单向前进 public class SingleForward implements MovementBehaviour {Overridepublic String move() {return move one step forward;} } 对角运动 public class DiagonalMovement implements MovementBehaviour {Overridepublic String move() {return Moving Diagonally;} } 通过这个例子我们可以理解策略模式。 翻译自: https://www.javacodegeeks.com/2014/10/understanding-strategy-pattern-by-designing-game-of-chess.html象棋子 设计模式
http://www.yutouwan.com/news/277039/

相关文章:

  • 品牌宣传型企业网站长沙装修
  • 云电脑注册网站首页wordpress 注册邀请码
  • 苏州建设公司网站唐山建设公司网站
  • 焦作网站建设服务爱妮微如何做网站链接的网址
  • 通达oa 做网站深圳市大鹏建设局网站
  • 做网站学哪些语言给别人做网站用做假酒验证
  • 提高网站的访问速度网站怎么做付费项目
  • 网站技术建设方案高邮城乡建设局 网站
  • 哪些网站是单页应用怎样建微信公众号
  • 公司门户网站建设做网站需要懂程序吗
  • 桂平做网站公司上海临港自贸区注册公司
  • wordpress站点美化网站制作维护费 归属
  • 登陆建设银行wap网站网站建设中怎么回事
  • 店面设计费用西青seo
  • 广州做网站多少钱中山做网站公司哪家好
  • 山西省财政厅网站三基建设专栏网站集约化建设工作打算
  • wordpress 企业网站主题谷歌seo搜索
  • 本地服务器如何做网站百度一下你就知道主页
  • 从化高端网站建设岳阳网站开发建设
  • 网站常用英文建设网站费用吗
  • 房地产微网站模板上海公司买房需要什么条件
  • 东莞一站式网站建设企业网站后台管理系统
  • 大气建站工作室网站源码西安网站建设易网宣
  • 一 网站建设的目的和目标电子商务网站搭建方案
  • 金融网站开发文档下载模板外贸网站建设
  • 网站建设教程 企业邮箱沭阳苏奥产业园做网站
  • 试述建设一个网站的具体步骤对于网站界面
  • 莫企业网站建设方案网站上传教程
  • 海外百度云网站建设支持 wordpress
  • 保定网络关键词排名江门seo外包服务