From 135283eaa8cae355de52e756ed9606070a1d4864 Mon Sep 17 00:00:00 2001 From: Edward Date: Thu, 23 Apr 2020 12:23:28 +0800 Subject: [PATCH] update factory method & add images --- creation/04_factory_method/README.md | 4 +- creation/04_factory_method/factorymethod.go | 69 ++++++++++-------- .../04_factory_method/factorymethod_test.go | 2 +- creation/05_abstract_factory/README.md | 9 ++- images/abstract-factorys-method.png | Bin 0 -> 68919 bytes 5 files changed, 51 insertions(+), 33 deletions(-) create mode 100644 images/abstract-factorys-method.png diff --git a/creation/04_factory_method/README.md b/creation/04_factory_method/README.md index 9c4c834..e15e4cb 100644 --- a/creation/04_factory_method/README.md +++ b/creation/04_factory_method/README.md @@ -2,4 +2,6 @@ 工厂方法模式使用子类的方式延迟生成对象到子类中实现。 -Go中不存在继承 所以使用匿名组合来实现 +不同的工厂对象,返回一个实现了某接口的类型对象,不同的工厂返回不同实现了相同接口的不同对象,在只能使用特定的类简单工厂的基础上,使用的代码和类生成的灵活性大大增加。 + +Go中的继承关系是使用匿名组合来实现的。 diff --git a/creation/04_factory_method/factorymethod.go b/creation/04_factory_method/factorymethod.go index c8f57d6..6a6f161 100644 --- a/creation/04_factory_method/factorymethod.go +++ b/creation/04_factory_method/factorymethod.go @@ -1,66 +1,77 @@ package factorymethod -//Operator 是被封装的实际类接口 -type Operator interface { - SetA(int) - SetB(int) - Result() int +import "fmt" + +//Assistant 是robot能做的事情 +type Assistant interface { + Clean(int) + Speak(string) + Work() string } -//OperatorFactory 是工厂接口 -type OperatorFactory interface { - Create() Operator +//IRobotFactory must be implemented by Factory +//different Factory create different robot +type IRobotFactory interface { + Build() Assistant } -//OperatorBase 是Operator 接口实现的基类,封装公用方法 -type OperatorBase struct { - a, b int +//BasicRobotModel 是基本的机器人模型 +type BasicRobotModel struct { + words string + a, b int } -//SetA 设置 A -func (o *OperatorBase) SetA(a int) { - o.a = a +//Clean 打扫 +func (o *BasicRobotModel) Clean(a int) { + fmt.Printf("%d", a) } -//SetB 设置 B -func (o *OperatorBase) SetB(b int) { +//Speak 说话 +func (o *BasicRobotModel) Speak(b int) { o.b = b } -//PlusOperatorFactory 是 PlusOperator 的工厂类 -type PlusOperatorFactory struct{} +//Work main work +func (o *BasicRobotModel) Work() string { + fmt.Sprint("my main work is do somthing") +} -func (PlusOperatorFactory) Create() Operator { +//FightingRobotFactory 生产各类军工机器人 +type FightingRobotFactory struct{} + +//Build a robot from FightingRobotFactory +func (FightingRobotFactory) Build() Assistant { return &PlusOperator{ OperatorBase: &OperatorBase{}, } } -//PlusOperator Operator 的实际加法实现 -type PlusOperator struct { - *OperatorBase +//FightingRobot 实际的战斗机器人 +type FightingRobot struct { + *BasicRobotModel } //Result 获取结果 -func (o PlusOperator) Result() int { +func (o FightingRobot) Result() int { return o.a + o.b } -//MinusOperatorFactory 是 MinusOperator 的工厂类 -type MinusOperatorFactory struct{} +//HomeRobotFactory 生产各类家用机器人 +type HomeRobotFactory struct{} -func (MinusOperatorFactory) Create() Operator { +//Build a robot from HomeRobotFactory +func (HomeRobotFactory) Build() Assistant { return &MinusOperator{ OperatorBase: &OperatorBase{}, } } -//MinusOperator Operator 的实际减法实现 -type MinusOperator struct { +//HomeRobot 实际的家用机器人 +type HomeRobot struct { *OperatorBase } //Result 获取结果 -func (o MinusOperator) Result() int { +func (o HomeRobot) Result() int { return o.a - o.b } diff --git a/creation/04_factory_method/factorymethod_test.go b/creation/04_factory_method/factorymethod_test.go index 70f7aa2..04085c4 100644 --- a/creation/04_factory_method/factorymethod_test.go +++ b/creation/04_factory_method/factorymethod_test.go @@ -2,7 +2,7 @@ package factorymethod import "testing" -func compute(factory OperatorFactory, a, b int) int { +func compute(factory IRobotFactory, a, b int) int { op := factory.Create() op.SetA(a) op.SetB(b) diff --git a/creation/05_abstract_factory/README.md b/creation/05_abstract_factory/README.md index 8783b79..96fd58b 100644 --- a/creation/05_abstract_factory/README.md +++ b/creation/05_abstract_factory/README.md @@ -1,8 +1,13 @@ # 抽象工厂模式 -抽象工厂模式用于生成产品族的工厂,所生成的对象是有关联的。 +抽象工厂模式用于生成具有多产品种类生产能力的的工厂,所生成的对象往往是有关联的。 -如果抽象工厂退化成生成的对象无关联则成为工厂函数模式。 +如果抽象工厂退化成生成的对象无关联的或者单一的产品种类则成为工厂函数模式。 + + +参考:[对比](https://blog.csdn.net/wyxhd2008/article/details/5597975) + +![对比图片](../../images/abstract-factorys-method.png) 比如本例子中使用RDB和XML存储订单信息,抽象工厂分别能生成相关的主订单信息和订单详情信息。 如果业务逻辑中需要替换使用的时候只需要改动工厂函数相关的类就能替换使用不同的存储方式了。 diff --git a/images/abstract-factorys-method.png b/images/abstract-factorys-method.png new file mode 100644 index 0000000000000000000000000000000000000000..21c03ed39a7168378bea72bc36a58d3da1613dd5 GIT binary patch literal 68919 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 V5(Yrz`viVTivAF(64Lko{{TlvtLgv% literal 0 HcmV?d00001