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

如何做电视剧的短视频网站网络营销和市场营销的区别

如何做电视剧的短视频网站,网络营销和市场营销的区别,外国网站邀请做编辑,假网站怎么做文章目录 1 概述2.1 角色2.2 类图 2 代码示例2. 1 设计2.2 代码2.3 类图 3. 简单工厂3.1 角色3.2 类图3.3 代码示例3.3.1 设计3.3.2 代码3.3.3 类图 1 概述 工厂方法类定义产品对象创建接口,但由子类实现具体产品对象的创建。 2.1 角色 Product(抽象产…

文章目录

  • 1 概述
    • 2.1 角色
    • 2.2 类图
  • 2 代码示例
    • 2. 1 设计
    • 2.2 代码
    • 2.3 类图
  • 3. 简单工厂
    • 3.1 角色
    • 3.2 类图
    • 3.3 代码示例
      • 3.3.1 设计
      • 3.3.2 代码
      • 3.3.3 类图

1 概述

工厂方法类定义产品对象创建接口,但由子类实现具体产品对象的创建。

2.1 角色

  • Product(抽象产品):它是具体产品的抽象类,可以是结构体,也可以是接口
  • ConcreteProduct(具体产品):它实现了抽象产品接口,对应了一种具体产品
  • Factroy(抽象工厂):在抽象工厂类中声明了工厂方法,用于返回一个产品。
  • ConcreteFactory(具体工厂):实现了在抽象工厂中声明的工厂方法,并可由客户端调用,返回一个具体产品类的实例。

2.2 类图

«interface»
Product
+Get()
ConcreteProductA
+Get()
ConcreteProductB
+Get()
«interface»
Factroy
+CreateProduct()
ConcreteFactroyA
+CreateProduct() : Product
ConcreteFactroyB
+CreateProduct() : Product
Client

2 代码示例

2. 1 设计

2.2 代码

package mainimport ("fmt"
)type Product interface {Get()
}type ConcreteProductA struct {Name stringKind string
}func (c *ConcreteProductA) Get() {fmt.Printf("%+v",c)
}
type ConcreteProductB struct {Name stringKind string
}func (c *ConcreteProductB) Get() {fmt.Printf("%+v",c)
}type ConcreteProductC struct {Name stringKind string
}func (c *ConcreteProductC) Get() {fmt.Printf("%+v",c)
}type Factroy interface {CreateProduct(name string) Product
}type ConcreteFactoryA struct {
}func (f  *ConcreteFactoryA) CreateProduct(name string) Product {p := &ConcreteProductA{Name: name,Kind:"A",}return p
}type ConcreteFactoryB struct {
}func (f *ConcreteFactoryB) CreateProduct(name string) Product {p := &ConcreteProductB{Name: name,Kind: "B",}return p
}type ConcreteFactoryC struct {
}func (f *ConcreteFactoryC) CreateProduct(name string) Product {p := &ConcreteProductC{Name: name,Kind: "C",}return p
}func CreateProduct(myType int64) Factroy {switch myType {case 1:return  &ConcreteFactoryA{}case 2:return &ConcreteFactoryB{}case 3:return &ConcreteFactoryC{}}return nil
}func main() {factory := CreateProduct(1)product := factory.CreateProduct("nginx")product.Get()
}
  • 输出
&{Name:nginx Kind:A}

2.3 类图

«interface»
Product
+Get()
ConcreteProductA
+Name:string
+Kind:string
+Get()
ConcreteProductB
+Name:string
+Kind:string
+Get()
ConcreteProductC
+Name:string
+Kind:string
+Get()
«interface»
Factroy
+CreateProduct()
ConcreteFactroyA
+CreateProduct() : Product
ConcreteFactroyB
+CreateProduct() : Product
ConcreteFactroyC
+CreateProduct() : Product

3. 简单工厂

在产品结构简单的情况下,我们可以把工厂模式简化成一个简单工厂

3.1 角色

  • Product(抽象产品):它是具体产品的抽象类,可以是结构体,也可以是接口
  • ConcreteProduct(具体产品):它实现了抽象产品接口,对应了一种具体产品
  • Factroy(简单工厂):根据一个条件用于返回一个产品

去掉了具体工厂角色,产品由简单工厂直接返回。

3.2 类图

«interface»
Product
+Create()
ConcreteProductA
+Create()
ConcreteProductB
+Create()
Factroy
+CreateProduct() : Product

3.3 代码示例

3.3.1 设计

  • 定义一个抽象产品Product
  • 定义三个具体产品ConcreteProductAConcreteProductBConcreteProductC
    • 它们各自的Get()方法会访问它本身
  • 定义一个简单工厂
    • 简单工厂的CreateProduct()方法会返回一个产品
  • 调用
    • 实例化一个简单工厂
    • 用简单工厂创建一个产品
    • 用产品的Get()方法查询结果

3.3.2 代码

package mainimport ("fmt"
)type Product interface {Get()
}type ConcreteProductA struct {Name stringKind string
}func (c *ConcreteProductA) Get() {fmt.Printf("%+v", c)
}type ConcreteProductB struct {Name stringKind string
}func (c *ConcreteProductB) Get() {fmt.Printf("%+v", c)
}type ConcreteProductC struct {Name stringKind string
}func (c *ConcreteProductC) Get() {fmt.Printf("%+v", c)
}type Factroy struct {
}func (f *Factroy) CreateProduct(myType int64, name string) Product {switch myType {case 1:return &ConcreteProductA{Name: name,Kind: "A",}case 2:return &ConcreteProductB{Name: name,Kind: "B",}case 3:return &ConcreteProductC{Name: name,Kind: "C",}}return nil
}func main() {factory := &Factroy{}product := factory.CreateProduct(1, "nginx")product.Get()
}
  • 输出
&{Name:nginx Kind:A}

3.3.3 类图

«interface»
Product
+Get()
ConcreteProductA
+Name
+Kind
+Cet()
ConcreteProductB
+Name
+Kind
+Get()
ConcreteProductC
+Name
+Kind
+Get()
Factroy
+CreateProduct() : Product

在这里插入图片描述

http://www.shuangfujiaoyu.com/news/37416.html

相关文章:

  • 学习做网页的网站百度seo指数查询
  • 招聘网站哪个好新闻热点
  • html个人网页源码北京网站优化公司哪家好
  • 安阳网站建设设计国内b2b十大平台排名
  • 个人盈利网站怎么建立seo站长工具
  • 手机排名哪个网站最权威seo外推软件
  • intellij 网站开发百度手机版下载
  • 关于建设 医院网站的请示建站公司网站源码
  • 做网站分成seo草根博客
  • 柳州企业网站开发平台管理培训课程
  • 有关网站开发的文献综述社区营销推广活动方案
  • 做网站邢台关键词搜索排名怎么查看
  • 平果县免费网站哪家好淘宝推广工具
  • 建网站成本网站优化推广的方法
  • 备案 网站名称怎么写seo营销优化
  • wordpress 媒体路径济南网站优化排名
  • ASP做旅游网站代码我想做地推怎么找渠道
  • 北京网站建设华网天下爱站长
  • 网站失败的原因佛山网络推广培训
  • 怎么找企业做网站网络营销策略包括
  • 360mobile智能手机网站建站系统广州网络营销产品代理
  • 做落地页素材在什么网站上找b2b网站平台有哪些
  • 南京做网站设计武汉百度推广优化
  • 长春自助建站软件职业技能培训网
  • 广州三合一网站建设廊坊seo排名公司
  • 医疗网站建设信息新站网站推广公司
  • 怎么给网站做关键词巢湖seo推广
  • 网页设计及网站建设的相关概念广点通推广登录入口
  • 手机网站app开发百度导航下载2020新版语音
  • 怎样学习做网站2022年最火的新闻摘抄