在Ruby中,装饰器模式可以通过使用模块来实现。装饰器模式可以让你在不改变原有对象结构的情况下,动态地添加新的功能。
下面是一个简单的示例:
# 定义一个基础类class Component def operation puts "基础操作" endend# 定义一个装饰器模块module Decorator def operation super puts "装饰器操作" endend# 创建一个具体的组件component = Component.newcomponent.operation# 使用装饰器对组件进行装饰component.extend(Decorator)component.operation在上面的示例中,首先定义了一个基础类Component,它有一个operation方法用来执行基础操作。然后定义了一个装饰器模块Decorator,它在基础操作的基础上添加了额外的操作。最后,通过extend方法将装饰器模块应用到具体的组件对象上,从而实现了装饰器模式。




