sen*_*rio 2 design-patterns go
我刚刚阅读了golang中的Design Patterns一书中关于Creational模式的章节.这些是:
我在github上创建了一个存储库来列出所有这些存储库.我找过像我这样的其他资料库:
一些列表object-pool作为一个模式,别人simple-factory和factory-method.go中是否存在正式的创作模式列表?知道列表是否重要,或者知道什么是可能的并且能够在正确的上下文中使用正确的代码更重要?有或没有知道世界上所有的模式?
而且,......原型和对象池模式之间有什么区别?他们看起来和我很相似.
池有助于限制分配的新对象的数量; Prototype是一种指定如何创建新对象的方法.
对象池涉及缓存创建的对象实例,以后可以访问.Golang有一个实现(https://golang.org/pkg/sync/#Pool),主要用于减轻垃圾收集器的压力.使用池的常用方法如下:
在Pool实现中,您会注意到您可以传递"创建"功能来指定池在步骤2中应如何创建实例.
New func() interface{}
此函数可以简单地分配一个空结构,或者如果创建逻辑很复杂,它可以使用Prototype模式克隆新实例.
Prototype模式更侧重于抽象如何从原型对象创建对象的许多"副本".当您想尝试避免使用new关键字时,主要使用此模式.