<rdf:RDF
    xmlns:s='http://snipsnap.org/rdf/snip-schema#'
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xml:base='http://wiki.moredesignpatterns.com/rdf'>
    <s:Comment rdf:about='http://wiki.moredesignpatterns.com/rdf#comment-Value+Object+Participants+v2-1'
         s:oUser=''>
        <s:name>comment-Value Object Participants v2-1</s:name>
        <s:content>From the [PLoP 2006] writers&apos; workshop:&#xD;&#xA;&#xD;&#xA;None.</s:content>
        <s:cUser>Dirk Riehle</s:cUser>
        <s:mUser>Dirk Riehle</s:mUser>
        <s:mTime>2006-10-24 08:02:57.752</s:mTime>
        <s:cTime>2006-10-24 08:02:52.384</s:cTime>
        <s:commentedSnip>
            <s:Snip rdf:about='http://wiki.moredesignpatterns.com/rdf#Value+Object+Participants+v2'
                 s:oUser=''>
                <s:name>Value Object Participants v2</s:name>
                <s:content>The ~~Client~~ class uses Value instances like built-in datatypes (to the extent that this is possible with your implementation language). Whenever the Client wants to change the value of one of its attributes, it replaces the attribute object rather than changing it. You write code like {code}attr = attr.calculate();{code} rather than {code}attr.calculate();{code}&#xD;&#xA;&#xD;&#xA;The ~~Value~~ class represents a domain-specific value type. It is implemented such that Value instances are immutable objects, meaning that its instances cannot change their state. Rather, as the result of some computation, a new Value instance with the desired internal state is returned.&#xD;&#xA;&#xD;&#xA;[Next|Value Object Collaborations v2]</s:content>
                <s:cUser>Dirk Riehle</s:cUser>
                <s:mUser>Dirk Riehle</s:mUser>
                <s:mTime>2006-09-19 07:06:51.552</s:mTime>
                <s:cTime>2006-09-19 07:05:12.072</s:cTime>
                <s:comments>
                    <rdf:Bag>
                        <rdf:li rdf:resource='http://wiki.moredesignpatterns.com/rdf#comment-Value+Object+Participants+v2-1'/>
                    </rdf:Bag>
                </s:comments>
                <s:snipLinks>
                    <rdf:Bag>
                        <rdf:li rdf:resource='http://wiki.moredesignpatterns.com/rdf#Value Object Structure v2'/>
                        <rdf:li rdf:resource='http://wiki.moredesignpatterns.com/rdf#Value Object'/>
                        <rdf:li rdf:resource='http://wiki.moredesignpatterns.com/rdf#Dirk Riehle'/>
                        <rdf:li rdf:resource='http://wiki.moredesignpatterns.com/rdf#Value Object Intent v2'/>
                    </rdf:Bag>
                </s:snipLinks>
                <s:attachments
                     rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
            </s:Snip>
        </s:commentedSnip>
    </s:Comment>
</rdf:RDF>
