代码之家  ›  专栏  ›  技术社区  ›  sensorario

池模式和原型模式之间有什么区别?

  •  2
  • sensorario  · 技术社区  · 8 年前

    • 工厂
    • 原型
    • 独生子女

    我在github上创建了一个存储库,列出了所有这些内容。我已经寻找了其他类似我的存储库:

    一些列表 object-pool 作为一种模式,其他 simple-factory factory-method . 围棋中是否有官方的创作模式列表?了解列表是重要的,还是更重要的是了解什么是可能的,并且能够在正确的环境中使用正确的代码?知道还是不知道世界上所有的模式?

    和原型和对象池模式之间有什么区别?他们看起来很像我。

    2 回复  |  直到 8 年前
        1
  •  6
  •   RyanD    8 年前

    游泳池有帮助 限度 怎样 将创建一个新对象。

    对象池涉及缓存创建的对象实例,这些实例可以稍后访问。Golang有一个实现( https://golang.org/pkg/sync/#Pool 减轻垃圾收集器的压力。 使用池的通常方式如下:

    1. 向池询问一个实例
    2. 你可以用这个物体做任何你需要的事情
    3. 您将对象返回给池,以便另一个“客户机”可以使用它。

    Pool 实现时,您会注意到可以传递一个“创建”函数来指定池在步骤2中应如何创建实例。

    New func() interface{}

    该函数可以简单地分配一个空结构,或者如果创建逻辑复杂,则可以使用原型模式克隆新实例。

    new 关键字。

        2
  •  4
  •   Martin Spamer    8 年前

    Design Patterns

    实际上,你不可能知道所有模式的所有细节,最重要的是要知道意图。模式实现了什么。使用图案时,其余细节可以和 从模式目录中选取,随着时间的推移,您将全面学习一些模式并参考其他模式。

    GoF Design Patterns

    enter image description here