Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
桃浪十七丶
cpp-design-patterns
提交
c5e1cf2e
C
cpp-design-patterns
项目概览
桃浪十七丶
/
cpp-design-patterns
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cpp-design-patterns
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
c5e1cf2e
编写于
10月 04, 2018
作者:
L
liu-jianhao
提交者:
GitHub
10月 04, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Create README.md
上级
cfaa6ccf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
0 deletion
+14
-0
Factory Method/README.md
Factory Method/README.md
+14
-0
未找到文件。
Factory Method/README.md
0 → 100644
浏览文件 @
c5e1cf2e
# Factory Method
## 动机(Motivation)
+
在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类型经常变化。
+
如何应对这种变化?如何绕过常规的对象创建方法(new),提供一种“封装机制”来避免客户程序和这种“具体对象创建工作”的紧耦合?
## 模式定义
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使得一个类的实例化延迟(目的:解耦,手段:虚函数)到子类。
——《设计模式》GoF
## 要点总结
+
Factory Method模式用于隔离类对象的使用者和具体类型之间的耦合关系。面对一个经常变化的具体类型,紧耦合关系(new)会导致软件的脆弱。
+
Factory Method模式通过面向对象的手法,将所要创建的具体对象工作延迟到子类,从而实现一种扩展(而非更改)的策略,较好地解决了这种紧耦合关系。
+
Factory Method模式解决“单个对象”的需求变化。缺点在于要求创建方法/参数相同。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录