RubyでDCIをコーディングする正しい方法に従って、DCIをいじってみました。自分のロールでデータオブジェクトにプロパティを追加したいと思っています。
たとえば、ユーザーオブジェクトがある場合。
class User
def initialize(name)
@name = name
end
end
user = User.new('JonMR')
ユーザーは顧客の役割を果たすことができます。
module Customer
def add_to_cart(item)
self.cart << item
end
end
customer = user.extend Customer
customer.add_to_cart 'an item'
これを機能させるには、カートメソッドを追加する必要があります。ショッピングカートは本当にユーザーオブジェクトに属していますか?役割は、必要に応じてカートをデータオブジェクトに追加する必要があるように感じます。