DEV Community

Discussion on: Things that happen in relationships are the things that matter.

Collapse
 
aleksikauppila profile image
Aleksi Kauppila

Interesting read, thanks! In many cases you have to choose, which object will have more behaviour and which is more anemic. Student.attend(lesson), lesson.add(student). It feels very awkward most of the time.

Collapse
 
kspeakman profile image
Kasey Speakman

I believe that if it feels awkward, then probably there is a better way to model it. The key take-away here is that where there is confusion about which object in the relationship should host the "behavior", then probably the relationship should be its own object which hosts the behavior. Also that not all nouns are objects with behavior... sometimes they are just data.