博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7.对象创建型模式-总结
阅读量:6188 次
发布时间:2019-06-21

本文共 715 字,大约阅读时间需要 2 分钟。

  前面介绍了一个创建迷宫的实现,首先介绍了一种最直接的实现,creator-也即MazeGame的CreateMaze()方法通过直接引用具体对象类来创建一个迷宫,这种通过硬编码的方式来创建对象存在可扩展性的问题,当创建其他类型的迷宫时需要修改CreateMaze()方法。

  为解决CreateMaze()方法硬编码具体对象类的问题,抽象工厂模式和生成器模式抽象了创建对象的过程,将创建对象的过程分装了MazeFactory和MazeBuilder,MazeFactory仅仅封装了具体对象的创建而MazeBuilder不仅封装了具体对象的创建,并且封装了组装对象的细节。同时抽象工厂模式和生成器模式参数化了创建对象的方法CreateMaze(MazeBuilder*)或CreateMaze(MazeFactory*)CreateMaze通过使用工厂或者生成器来创建对象或者组装对象

  工厂方法模式,MazeGame中引入了创建对象的工厂方法,CreateMaze()通过引用工厂方法来创建对象而不是直接引用具体对象类。通过派生MazeGame并重载工厂方法的实现,不需要修改CreateMaze()就可以创建新的迷宫。

  原型模式,创建对象的类实现clone()方法来克隆自己,使用原型来配置一个工厂,可以在不派生新的工厂类的情况下,创建新的迷宫。将抽象工厂实现为原型,参数化了工厂类,使用原型来配置一个工厂,增加了工厂类的灵活性。

  单件模式,可以保证抽象工厂类仅有一个实例,并且存在一个全局访问点。

转载于:https://www.cnblogs.com/VincentXu/p/3348637.html

你可能感兴趣的文章
了解Logstash
查看>>
Win10中tortoiseGit 没有绿色图标问题解决
查看>>
3.3 类的属性总结 3.4 类的方法总结 3.5 rc脚本(类的定义与脚本的结构)
查看>>
shell中的break跳出循环、continue结束本次循环、exit退出脚本
查看>>
CentOS系统下的数据盘挂载
查看>>
mongo Cluster部署
查看>>
UISlider遇到的问题和解决
查看>>
OSChina 周四乱弹 ——世界满满的恶意
查看>>
win7修改hosts时提示没有权限的解决方法
查看>>
swift 绘制下载进度
查看>>
maven编译报非法字符:\65279 错误
查看>>
java中的ReentrantLock学习笔记
查看>>
[3.30]#珠海GDG#成立大会胜利闭幕!
查看>>
mybatis 批量Update(2)
查看>>
RabbitMQ安装
查看>>
django 学习笔记 (五)
查看>>
iOS UItableviewCell实现可变高度的UITextView,动态刷新高度
查看>>
iOS开发- 利用runtime拦截UIButton的点击事件,防止重复点击
查看>>
Java,Jsp获取客户端IP地址
查看>>
100-88
查看>>