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

数字营销 h5 网站开发新手怎么引流推广

数字营销 h5 网站开发,新手怎么引流推广,网站栏目设计,代理备案网站系列文章目录 第一章 设计模式案例 (一) 第一章 设计模式案例 #xff08;二) 文章目录 系列文章目录前言一、责任链模式case 包 二、策略模式case 包 三、工厂模式case 包 前言 上一篇文章介绍了常用的几种设计模式和常用场景#xff0c;便于对设计模式加深理解#xff0…系列文章目录 第一章 设计模式案例 (一) 第一章 设计模式案例 二) 文章目录 系列文章目录前言一、责任链模式case 包 二、策略模式case 包 三、工厂模式case 包 前言 上一篇文章介绍了常用的几种设计模式和常用场景便于对设计模式加深理解此文章主要讲解设计模式的案例。 一、责任链模式 case 包 代码如下示例 package _case import fmt func DutyCase() {pm : ProjectManager{}dm : DepartmentManager{}gm : GeneralManager{}pm.SetNext(dm).SetNext(gm)pm.Handle(张三, 300)pm.Handle(李四, 800)pm.Handle(王五, 1800) } type Handler interface {SetNext(h Handler) HandlerHandle(user string, amount int64) } // 项目经理 type ProjectManager struct {next Handler } func (pm *ProjectManager) Handle(user string, amount int64) {if amount 500 {fmt.Printf(%s 申请聚餐费用 %d 元项目经理审批通过\n, user, amount)return}// 项目经理没有权限交给下一个人处理pm.next.Handle(user, amount) } func (pm *ProjectManager) SetNext(h Handler) Handler {pm.next hreturn h } // 部门经理 type DepartmentManager struct {next Handler } func (dm *DepartmentManager) Handle(user string, amount int64) {if amount 500 amount 1000 {fmt.Printf(%s 申请聚餐费用 %d 元部门经理审批通过\n, user, amount)return} else if amount 1000 {fmt.Printf(%s 申请聚餐费用 %d 元部门经理审批通过总经理加签\n, user, amount)dm.next.Handle(user, amount)} else {dm.next.Handle(user, amount)} } func (dm *DepartmentManager) SetNext(h Handler) Handler {dm.next hreturn h } // 总经理 type GeneralManager struct {next Handler } func (gm *GeneralManager) Handle(user string, amount int64) {if amount 1000 {fmt.Printf(%s 申请聚餐费用 %d 元总经理审批通过\n, user, amount)return}gm.next.Handle(user, amount) } func (gm *GeneralManager) SetNext(h Handler) Handler {gm.next hreturn h } 代码如下示例main package main import _case design-pattern/duty/case func main() {_case.DutyCase() } 二、策略模式 case 包 代码如下示例 package _caseimport fmtfunc StrategyCase() {arr : []int{1, 3, 8, 2, 4, 5}arr1 : []int{5, 2, 4, 6, 9, 8}ctx : Context{}//设置排序策略- 冒泡算法ctx.SetStrategy(bubble{})ctx.ExecuteStrategy(arr)fmt.Println(arr)//设置排序策略-选择策略ctx.SetStrategy(selection{})ctx.ExecuteStrategy(arr1)fmt.Println(arr1) }// 排序策略定义 type SortStrategy interface {Sort(arr []int) }// 冒泡排序 type bubble struct{}func (*bubble) Sort(arr []int) {fmt.Println(冒泡算法)n : len(arr)for i : 0; i n-1; i {flag : falsefor j : 0; j n-1-i; j {if arr[j] arr[j1] {arr[j], arr[j1] arr[j1], arr[j]flag true}}if !flag {break}} }// 选择排序 type selection struct{}func (*selection) Sort(arr []int) {fmt.Println(选择排序)size : len(arr)for i : 0; i size-1; i {minIndex : ifor j : i 1; j size; j {if arr[j] arr[minIndex] {minIndex j}}if minIndex ! i {arr[i], arr[minIndex] arr[minIndex], arr[i]}} }type Context struct {stratety SortStrategy }func (ctx *Context) SetStrategy(s SortStrategy) {ctx.stratety s }func (ctx *Context) ExecuteStrategy(arr []int) {ctx.stratety.Sort(arr) }代码如下示例main package mainimport _case design-pattern/trategy/casefunc main() {_case.StrategyCase() } }三、工厂模式 case 包 代码如下示例简单工厂 package _case type Product interface {GetName() string } type ProductA struct {name string } func (a *ProductA) GetName() string {return a.name } type ProductB struct {name string } func (b *ProductB) GetName() string {return b.name } type ProductC struct {name string } func (c *ProductC) GetName() string {return c.name } package _case import (fmt ) type SimpleFactory struct { } func (f *SimpleFactory) CreateProduct(productType string) Product {switch productType {case A:return ProductA{name: product A,}case B:return ProductB{name: product B,}case C:return ProductC{name: product C,}}return nil } func SimpleFactoryCase() {factory : SimpleFactory{}var product Productproduct factory.CreateProduct(A)fmt.Println(product.GetName())product factory.CreateProduct(B)fmt.Println(product.GetName())product factory.CreateProduct(C)if product ! nil {fmt.Println(product.GetName())} }代码如下示例简单工厂 package _case type Product interface {GetName() string } type ProductA struct {name string } func (a *ProductA) GetName() string {return a.name } type ProductB struct {name string } func (b *ProductB) GetName() string {return b.name } type ProductC struct {name string } func (c *ProductC) GetName() string {return c.name } package _case import fmt type Factory interface {CreateProduct() Product } type FactoryA struct { } func (f *FactoryA) CreateProduct() Product {return ProductA{name: product A,} } type FactoryB struct { } func (f *FactoryB) CreateProduct() Product {return ProductB{name: product B,} } type FactoryC struct { } func (f *FactoryC) CreateProduct() Product {return ProductC{name: product C,} } func FactoryMethodCase() {var factory Factoryvar product Productfactory FactoryA{}product factory.CreateProduct()fmt.Println(product.GetName())factory FactoryB{}product factory.CreateProduct()fmt.Println(product.GetName())factory FactoryC{}product factory.CreateProduct()fmt.Println(product.GetName()) } 代码如下示例main package main import _case design-pattern/factory/case func main() {//_case.SimpleFactoryCase()_case.FactoryMethodCase() }
http://www.zqtcl.cn/news/850526/

相关文章:

  • 手机网站使用微信支付瑞诺国际公司团队介绍
  • 如何做网站内容架构分析网站建站平台eazyshop
  • 网站开发 商标第几类建站模板大全
  • 找事做的网站杭州网站建设有限公司
  • 临沂网站建设搭建短视频如何引流与推广
  • 网站项目建设管理简介网络营销的概念
  • 网站后台怎么添加代码食品网站开发的背景
  • 茶楼 网站dedecms 旅游网站模板
  • 物流网站做那个好凯里网站设计
  • 网站 方案网页设计尺寸用怎么量
  • 商城购物网站设计内容互联网公司网站建设费用
  • 做租号玩网站赚钱吗网站下的源代码和自己做的区别
  • 关于校园网站的策划书久久建筑网的账号
  • 网站宣传的方式怎么查看一个网站有没有做推广
  • 台州房产网站建设自助开通网站
  • 佛山正规网站建设报价二级域名需要申请吗
  • 网站用户体验比较论坛类网站可以做移动端吗
  • 佛山网站优化建设网站设计公司种类
  • 永嘉高端网站建设效果空间设计手法有哪些
  • 好模板网站盐城做网站价格
  • 农村自建房设计图 效果图常州百度推广优化
  • 北京便宜网站建设为什么自己做的网站别的电脑打不开
  • 濮阳网站建设哪里便宜html页面模板
  • 个人推广网站wordpress 交友模板
  • 新乡网站建设价格中国反钓鱼网站联盟
  • 在线工具网站网站建设公司ejiew
  • 个人搭建网站教程王牌网站做代理
  • 网站地图什么意思电子商务营销推广
  • 手机排行榜网站教育平台网站开发
  • 佛山市顺德区建设局网站萧山网站建设