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

接私活做预算的网站推广普通话的意义50字

接私活做预算的网站,推广普通话的意义50字,wordpress获取照片信息,网站提示代码接下来我们来聊一聊策略模式,这个模式在我们日常开发中涉及的比较多,尤其是我们想在后续为我们的系统进行一定的扩展,那么在设计初期我们就可以多多考虑到策略模式的应用。 1. 概念 策略(Strategy)模式定义了一系列算法,并将每个…

        接下来我们来聊一聊策略模式,这个模式在我们日常开发中涉及的比较多,尤其是我们想在后续为我们的系统进行一定的扩展,那么在设计初期我们就可以多多考虑到策略模式的应用。

1. 概念

        策略(Strategy)模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。属于对象行为模式。

策略模式的主要角色如下:

        抽象策略(Strategy)类:公共接口,各种不同的算法以不同的方式实现这个接口,环境角色使用这个接口调用不同的算法,一般使用接口或抽象类实现。

        具体策略(Concrete Strategy)类:实现了抽象策略定义的接口,提供具体的算法实现。

        环境(Context)类:持有一个策略类的引用,最终给客户端调用。

2. 代码实现

        这里我们以电竞队伍的策略来举例实现,我们一个电竞队类,在进行比赛时,可能会按照多种的比赛策略来进行比赛,可能每一次比赛的策略使用都是不一样的,这里就可以通过策略模式来实现:这里我们先创建抽象策略类(主要用来定义不同策略的抽象)

/*** 游戏策略*/
public interface GameStrategy {//战斗策略void warStrategy();}

这样我们创建不同的具体策略类实现该抽象策略接口:

public class RandomStrategy implements GameStrategy{@Overridepublic void warStrategy() {System.out.println("大乱斗...");}}
/*** 稳健运营策略*/
public class SteadyStrategy implements GameStrategy {@Overridepublic void warStrategy() {System.out.println("各路小心...及时支援...");}
}

最后我们创建出一个电竞队伍类(即环境类),这个类由于要使用不同的策略,所以我们需要将抽象类作为其的一个属性:

/*** 环境类*/
public class TeamGNR {//抽取游戏策略算法,并进行引用private GameStrategy gameStrategy;public void setGameStrategy(GameStrategy gameStrategy) {this.gameStrategy = gameStrategy;}public void startGame(){System.out.println("游戏开始.....");//游戏策略gameStrategy.warStrategy();System.out.println("win......");}
}

这样我们在不同的环境中可以为环境类配置不同的策略行为,使其能够根据不同的情况做出具体策略的行为:

public class MainTest {public static void main(String[] args) {TeamGNR gnr = new TeamGNR();gnr.setGameStrategy(new RandomStrategy());gnr.startGame();}
}

3. 应用场景

  • 使用策略模式可以避免使用多重条件语句,如if...else...语句、switch...case..语句
  • Spring中的InstantiationStrategy
  • 线程池拒绝策略
  • ...

4. 总结

        策略模式对我来说印象比较深刻,在我第一次进入企业实习时(某互联网保险公司),在阅读项目代码时,曾经有一位资深开发人员写了一段业务代码就是策略+责任链模式来实现的,那时候的我并没有深入学习设计模式,所以导致我花费了很长时间去阅读其写的源码,刚开始认为其是过度设计,但是随着业务的熟悉发现其扩展性是其他开发者写出来无法比拟的。所以从那时候起我就知道作为一名资深开发也好还是项目架构师也好,设计模式对于整个项目后期的维护开发来说是相当重要的。

        最后策略模式其实并不是难以理解,但是如何用?何时用?怎样用得好?这才是我们作为开发人员需要在实践与经验中来一点点总结的!

http://www.dtcms.com/wzjs/340308.html

相关文章:

  • 西安做网站公司哪家行网站外链购买
  • 如何做一款服装网站深圳最新疫情
  • 全国人社政务服务平台网站seo教程
  • 网站布局规范苏州百度推广
  • 内江规划建设教育培训中心网站网站推广优化排名教程
  • 广州做网站要多少钱今日国内新闻最新消息10条新闻
  • 手机版网站与app免费网络营销推广软件
  • 浙江网站建设推广公司找哪家网上营销培训课程
  • 宁波网站建设详细策划有创意的网络广告案例
  • 素材网站可以做淘宝吗怎样在网上推广
  • 防红短链接生成济南seo网站优化
  • 即墨网站开发如何创建一个网址
  • 59zwd一起做网站seo的培训课程
  • 做网站的技术门槛高吗seo排名软件价格
  • win系统和mac那个做网站好互联网推广中心
  • 牛什么的网站建设电商网课
  • 备案 手机网站百度竞价推广关键词优化
  • 建设网站总结社区营销推广活动方案
  • 垫江网站开发djrckj网站广告接入
  • 学校网络建设方案设计seo整站优化公司持续监控
  • 数码类网站名称免费seo刷排名
  • 制作动漫的软件广州seo优化排名推广
  • 宣传营销方式有哪些seo外链
  • 医院网站建设平台seo黑帽有哪些技术
  • 顺德o2o网站建设线上推广方案
  • 外国做动漫图片的网站叫什么平台优化
  • 怎么在网站标题做logo云搜索下载
  • 南京建设网站的公司朋友圈广告推广
  • 用php内容做电商网站商品关键词怎么优化
  • 关于小城镇建设网站博客推广的方法与技巧