前言
这篇文章是我阅读了其他文章(关于创建对象时候的设计模式)后的手打回顾, 加上 java 非我主攻方向, 所以只是一些概念的陈述和我的理解, 有错漏之处请见谅.
概念回顾
- 单例模式
主要用于多次创建想生成同一个对象的情况. 推荐饿汉式, 线程安全, 缺点是即使没被用到也会生成对象, 但问题不大. - 工厂模式
有点像 erlang 的匹配模式, 创建对象的时候需要输入一个变量, 会根据这个变量的值来决定最终生成的对象的类型. 比如说创建对象的时候输入 Circle 则生成一个圆, 输入 Rectangle 则生成一个三角形这样. - 抽象工厂模式
看的不是特别懂, 只知道是工厂模式之上再抽象了一层. 创建的对象是工厂对象. - 创造者模式
适用于对象初始化的时候, 初始变量比较麻烦的情况. 我看的文章例子举得很形象, 如:
new ComputerBilder().screen("普通屏幕").CPU("i7").GPU("1080TI").disk("disk").memory("无线鼠标").build()
- 原型模式
适用于复用对象的情况. 比如说对象初始化需要进行很多操作(进行多次sql查询等等). 因为多次初始化结果应该是一致的, 所以重新创建对象, 进行一次初始化操作就比较耗费性能, 取而代之的方式是将之前的对象直接 clone 一份.
网友评论