Skip to main content
 首页 » 编程设计

oop之R中设计模式的使用

2024年11月24日50del

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




9年前关闭。




design patterns的使用在编程方面广泛分布在许多编程语言中。许多示例是 factory , 或 singleton设计模式。许多这些模式使用面向对象在代码中创建抽象和封装,它们旨在使代码可重用和结构化。许多这些设计模式也可以在 R 中使用,也许通过使用 proto库,还是标准的 R 面向对象?

我的问题是:

  • 我可以使用哪些基本代码(S3、S4)/包(proto、R.oo)来重现 Gamma 等人在书中提到的设计模式?
  • 是否有在 R 中实现的设计模式示例,无论是在基础 R 中还是在包中?
  • 请您参考如下方法:

    一些设计模式的例子:

  • system.time() 函数的行为似乎很像 decorator pattern .然而,在面向对象编程的上下文中几乎只提到了装饰器。但是,它仍然具有装饰器的感觉,它使用附加功能扩展(或装饰)现有代码段(在 OOP 中始终是一个对象),而无需更改代码段。这里system.time()显示在行动中:
    system.time(bla <- Sys.sleep(1000)) 
    
  • @jverzani 发布了一个单例模式示例 on github .
  • 策略设计模式的一个例子是 apply函数族。循环给定对象的功能是通用的,当用户提供函数时选择应用的函数(策略)。