溫馨提示×

Ruby中的裝飾器模式怎么實(shí)現(xiàn)

小億
85
2024-04-10 12:22:36
欄目: 編程語言

在Ruby中,裝飾器模式可以通過使用模塊來實(shí)現(xiàn)。裝飾器模式可以讓你在不改變原有對象結(jié)構(gòu)的情況下,動態(tài)地添加新的功能。

下面是一個簡單的示例:

# 定義一個基礎(chǔ)類
class Component
  def operation
    puts "基礎(chǔ)操作"
  end
end

# 定義一個裝飾器模塊
module Decorator
  def operation
    super
    puts "裝飾器操作"
  end
end

# 創(chuàng)建一個具體的組件
component = Component.new
component.operation

# 使用裝飾器對組件進(jìn)行裝飾
component.extend(Decorator)
component.operation

在上面的示例中,首先定義了一個基礎(chǔ)類Component,它有一個operation方法用來執(zhí)行基礎(chǔ)操作。然后定義了一個裝飾器模塊Decorator,它在基礎(chǔ)操作的基礎(chǔ)上添加了額外的操作。最后,通過extend方法將裝飾器模塊應(yīng)用到具體的組件對象上,從而實(shí)現(xiàn)了裝飾器模式。

0