Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Extracting Immutable Objects (push.cx)
14 points by luu on March 8, 2015 | hide | past | favorite | 7 comments


Most seem like Value Objectshttp://martinfowler.com/bliki/ValueObject.html

I usually find there are several value objects for every entity https://dddsamplenet.codeplex.com/wikipage?title=DDD%20build...


'Value Object' and 'Immutable Object' are a contradiction in terms. Immutability refers to values, not 'objects'.


Not sure what you are getting at. I assume you are using a specific definition of these terms from a particular domain?

Immutable is just a word that means unchanging, as in "immutable laws of nature". . Consequently Objects can be immutable if they cannot change after creation. This seems a pretty commonly held view http://en.wikipedia.org/wiki/Immutable_object

How would you define Objects and Values?


An object has state by definition.

More to the point, an object has agency: It gets to decide how to interpret messages sent to it (this is why we say that putting setters on classes turns objects back into mere data structures [1]).

http://www.devx.com/enterprise/the-vision-of-kay-and-fieldin... (right after the seventh paragraph)


The classic paper is "Values and objects in programming languages" by B. J. MacLennan.

https://www.google.com/search?as_q=MacLennan+Values+and+Obje...


An object can be a value object, and it can be immutable. Or not. (Though I can't think of a reason a value object should ever be mutable once it's created; it would be a very pungent code smell.)

These are orthogonal ideas; not contradictory ones.


(blog author here, very surprised to see my old post show up)

Yeah, I think of all of these as value objects, and DDD was also a large part of my inspiration for this series of posts. This code eventually rolled into a RailsConf 2015 talk: http://railsconf.com/program#prop_1132




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: