Hackernoon logoName and reference objects. Not IDs by@mcsee

Name and reference objects. Not IDs

Author profile picture

@mcseeMaximiliano Contieri

I’m senior software engineer specialized in declarative designs and S.O.L.I.D. and Agile lover.

Name and reference objects. Not IDs

It’s the indirection, stupid !

Object Oriented Design Tip # 1

Tired of IDs

Identifiers are (almost) never present on the real world. So why should you build your models with them ?

Objects can send messages to other objects only if they know them.

Knowledge can be accidental (temporary) or essential (strong).

Object1 knows essentially object2 and that relation must be named. And naming is very important when dealing with objects.

Role naming is extremely important.

Never qualify a relation exposing referenced object implementation.

object1 should not name the variable object2id.

Making such thing would imply a relational database implementation and thus mixing essential model specification with an accidental relational implementation.

Objects should know other objects, not ids !

Tags

The Noonification banner

Subscribe to get your daily round-up of top tech stories!