Primitive Obsession (PO) is a wrong design choice: use of a primitive data type to represent a complex domain entity. For example, if the string data type is used to represent date, though it sounds like a smart idea initially, it invites a lot of maintenance trouble in the long run.
Assuming you have used a string data type to represent date, the following issues will be a challenge:
- You would need to sort things based on date
- Date arithmetic will become very complex with the introduction of string
- Supporting various date formats as per regional settings will become complex with string
Ideally, date must be represented by a class as opposed to a primitive data type.