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

南昌网站建设模板总部昆山网络公司

南昌网站建设模板总部,昆山网络公司,做网站一般什么配置,企业网站建设市场报价文章目录 十四、strategy 策略模式14.1 map_app14.1.1 map_app_test.go14.1.2 map_app.go14.1.3 navigate_strategy.go 十四、strategy 策略模式 https://refactoringguru.cn/design-patterns/strategy 需求: client 知道很多不同的策略, 希望在运行时切换. 场景示例: 就像高…

文章目录

  • 十四、strategy 策略模式
    • 14.1 map_app
      • 14.1.1 map_app_test.go
      • 14.1.2 map_app.go
      • 14.1.3 navigate_strategy.go

十四、strategy 策略模式

https://refactoringguru.cn/design-patterns/strategy

需求: client 知道很多不同的策略, 希望在运行时切换.

场景示例: 就像高德地图一样, 导航到某地, 用户可选择其一: 地铁, 自驾, 打车, 自行车 等.

实现方式: 定义策略接口, 上层组合该接口. client 在运行时切换 具体策略.

14.1 map_app

├── mapapp.go
├── mapapp_test.go
└── navigate_strategy.go

14.1.1 map_app_test.go

package _41map_appimport "testing"func TestMapApp(t *testing.T) {app := MapApp{}app.SetNavigateStrategy(&WalkNavigateStrategy{})app.Run()app.SetNavigateStrategy(&SubwayNavigateStrategy{})app.Run()app.SetNavigateStrategy(&TaxiNavigateStrategy{})app.Run()
}

14.1.2 map_app.go

package _41map_appimport "fmt"type MapApp struct {navigateStrategy NavigateStrategy
}func (app *MapApp) Run() {fmt.Println("打开导航地图APP")app.navigateStrategy.Navigate()fmt.Println("关闭导航地图APP")
}func (app *MapApp) SetNavigateStrategy(s NavigateStrategy) {app.navigateStrategy = s
}

14.1.3 navigate_strategy.go

package _41map_appimport "fmt"type NavigateStrategy interface {// Navigate 导航Navigate()
}type WalkNavigateStrategy struct {
}func (s *WalkNavigateStrategy) Navigate() {fmt.Println("步行导航开始")
}type SubwayNavigateStrategy struct {
}func (s *SubwayNavigateStrategy) Navigate() {fmt.Println("地铁导航开始")
}type TaxiNavigateStrategy struct {
}func (s *TaxiNavigateStrategy) Navigate() {fmt.Println("出租车导航开始")
}
http://www.yayakq.cn/news/560514/

相关文章:

  • 商城网站怎么建青岛高端网站建设
  • 传统系统和企业解决方案湖南seo推广方法
  • 加强网站建设技术培训阿里巴巴网站建设改图片
  • 公司网站的建设怎么做外贸网站域名用境内还是境外
  • 玉林建设银行网站如何设计购物网站
  • 网站建设类电话销售贵阳建立网站
  • 自建淘宝客APP网站模板网站开发页面适应高度
  • 动易网站地图开网店的流程和步骤及费用
  • 用mockplus做网站原型wordpress download_link
  • 合肥市城乡建设局2019网站大学html网站建设作业
  • 深圳住房和建设局新网站ps做网站时画布宽度
  • wap网站和app的区别互联网推广方式
  • 成品网站app开发重庆百度推广开户
  • 做单页网站需要做什么的百度网页入口
  • 网站建设的步骤过程盘锦做网站价格
  • 做网站卖假名牌违法吗网投网站如何建设
  • 嘉兴市南湖区城乡规划建设局网站高端网站建设系统规划
  • 深圳网站运营外包公司平台推广是什么
  • 鸿邑科技 网站建设网站外链建设实例
  • 有哪些网站可以做全屏代码电脑网站生成手机网站
  • 方案图网站第三方做农产品价格数据的网站
  • 网站主要栏目洛阳 网站建设
  • 个人网站吗建设工程合同性质上属于实践合同
  • wordpress5.2.2济南seo外包公司
  • 做瞹瞹网站怎样用apache做网站
  • 网站改版准备上海中高风险地区有哪些
  • 如何注册域名网站wordpress输入命令
  • 飞扬世纪网站建设怎么给网站做开场动画
  • 个人做网站能赚钱吗福田公司简介
  • 设建网站郑州优秀网站建设公司