在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
方法將裝飾器模塊應用到具體的組件對象上,從而實現了裝飾器模式。