Implementing a Value-Object Base class (Supertype pattern–DDD patterns related)
It is usually a recommended practice to have Value-Object base-class so we can have common functionality which can be used by all of our value-object classes. Typically, comparison methods or any other common subject for Value-Objects, should be included here. Below I show a sample Value-Object Base-Class: