Objects of Value

Objects do not live in a free society: they exist for a purpose; they are not created with equal rights; they should not aspire to equality. What this means in practice is that objects live in a class-ridden society where each class serves a different role in the program as a whole. One category of object in need of attention and liberation is for representing domain values. Values are fine-grained and informational. They are inherent in the problem domain, but are often flattened into little more than plain integers and strings in the implementation, weakening the correspondence of the code to the situation it addresses. When it comes to identifying and implementing the Value Object pattern, there is a great deal more to be taken into consideration than can reasonably fitted into a single pattern. This talk looks at the practices and concepts that surround values both in Java and in other languages.

Read my report on this Jazoon session