Standing on the shoulders (well, maybe feet) of giants
[ start | index | login or register ]
start > Value Object Known Uses v2

Value Object Known Uses v2

Created by Dirk Riehle. Last edited by Dirk Riehle, 2 years and 74 days ago. Viewed 330 times. #3
[diff] [history] [edit] [rdf]
labels
attachments
The distinction between objects and values in structured and object-oriented programming was first spelled out in the seminal article by MacLennan Mac82. It has taken a while, but with the new breed of object-oriented programming languages like X10 IBM05 and Fortress SUN06, first-class value types seem to finally have arrived.

The most widely known uses of the Value Object pattern can probably be found in the Java JDK implementations. The String, Integer, and Float classes are close-to-the-system Value Object implementations. Further and somewhat cleaner examples are the BigInteger and BigDecimal classes, which are in fact implemented as immutable classes, with some caching for common numbers (e.g. values between -10 and +10). The JValue Value Object framework provides more examples: Hierarchical names, URLs, monetary amounts, UML datatypes, and others Rie99.

As a pattern, Value Object has first been described by Cunningham Cun95 and later by Fowler Fow02 and Evans Eva04. We provide a lengthy discussion of Value Object design and implementation considerations in traditional programming languages in BRSetal98.

Next

one comment (by Dirk Riehle) | post comment
Copyright (©) 2006 by Dirk Riehle or the respective authors. All rights reserved.