251017-thinking-prototype
1. 什么是原型模式?
一言以蔽之,原型模式(Prototype Pattern)是一种创建型设计模式,它允许客户端直接调用Clone方法来创建一个与已有实例完全一致的新的实例,而不需要知道已有实例的构造函数以及构造参数。
2. 为什么需要原型模式?
正如上述,原型模式的主要优势在于它允许客户端直接调用Clone方法来创建一个与已有实例完全一致的新的实例,而不需要知道已有实例的构造函数以及构造参数。这使得原型模式在需要快速创建多个相同对象的场景下非常有用,例如在游戏开发中创建多个相同类型的敌人实例。
3. 原型模式的实现(go)
原型模式提供prototype接口,主要需要实现Clone方法,该方法返回一个与已有实例完全一致的新的实例。
中间件代码示例:
1 | type prototype interface { |
客户端使用:
1 | func main() { |
类图:
classDiagram
class prototype {
<<interface>>
+Clone() prototype
}
class concreteType {
// ...构造参数
}
prototype <|.. concreteType
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Elian's blog page!