ruby

Ruby中的装饰器模式怎么实现

小亿
85
2024-04-10 12:22:36
栏目: 编程语言

在Ruby中,装饰器模式可以通过使用模块来实现。装饰器模式可以让你在不改变原有对象结构的情况下,动态地添加新的功能。

下面是一个简单的示例:

# 定义一个基础类
class Component
  def operation
    puts "基础操作"
  end
end

# 定义一个装饰器模块
module Decorator
  def operation
    super
    puts "装饰器操作"
  end
end

# 创建一个具体的组件
component = Component.new
component.operation

# 使用装饰器对组件进行装饰
component.extend(Decorator)
component.operation

在上面的示例中,首先定义了一个基础类Component,它有一个operation方法用来执行基础操作。然后定义了一个装饰器模块Decorator,它在基础操作的基础上添加了额外的操作。最后,通过extend方法将装饰器模块应用到具体的组件对象上,从而实现了装饰器模式。

0
看了该问题的人还看了