JavaZone 2009 - 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.
Kevlin Henney
Kevlin Henney is an independent consultant based in the UK. He specialises in programming languages, OO design, patterns, development process and software architecture, helping teams adopt techniques and improve their software development through training, mentoring and reviewing. He is and has been a columnist for various magazines and web sites, including the Reg Developer channel of The Register, SearchSoftwareQuality.com and Better Software. He is also coauthor of two volumes in the Pattern-Oriented Software Architecture series, A Pattern Language for Distributed Computing and On Patterns and Pattern Languages.
