<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+Collaborations+v2-1'
         s:oUser=''>
        <s:name>comment-Value Object Collaborations v2-1</s:name>
        <s:content>From the [PLoP 2006] writers&apos; workshop:&#xD;&#xA;&#xD;&#xA;* Here you need a sequence diagram.&#xD;&#xA;</s:content>
        <s:cUser>Dirk Riehle</s:cUser>
        <s:mUser>Dirk Riehle</s:mUser>
        <s:mTime>2006-10-24 08:03:16.088</s:mTime>
        <s:cTime>2006-10-24 08:03:13.248</s:cTime>
        <s:commentedSnip>
            <s:Snip rdf:about='http://wiki.moredesignpatterns.com/rdf#Value+Object+Collaborations+v2'
                 s:oUser=''>
                <s:name>Value Object Collaborations v2</s:name>
                <s:content>A client creates new Value instances. Necessary data for initialization is provided as part of the constructor call or through a special initialization protocol. No state-changing methods should be published to clients and be used by them, even if these methods are public.&#xD;&#xA;&#xD;&#xA;A Value instance provides information to a client through read-only query methods (a.k.a. observer methods). For what would traditionally be state-changing methods, the value object creates a new instance of its class and initializes it with the data that represent the result of the computation the current method is supposed to carry out.&#xD;&#xA;&#xD;&#xA;A client that calls a command method of a value object receives a new Value instance back; it typically drops the old value object and keeps computing with the new value. Most notably, if the value is stored in an attribute of the client, the client replaces the value object representing the attribute’s value with the new value object.&#xD;&#xA;&#xD;&#xA;[Next|Value Object Consequences v2]&#xD;&#xA;</s:content>
                <s:cUser>Dirk Riehle</s:cUser>
                <s:mUser>Dirk Riehle</s:mUser>
                <s:mTime>2006-09-19 07:07:35.616</s:mTime>
                <s:cTime>2006-09-19 07:07:15.784</s:cTime>
                <s:comments>
                    <rdf:Bag>
                        <rdf:li rdf:resource='http://wiki.moredesignpatterns.com/rdf#comment-Value+Object+Collaborations+v2-1'/>
                    </rdf:Bag>
                </s:comments>
                <s:snipLinks>
                    <rdf:Bag>
                        <rdf:li rdf:resource='http://wiki.moredesignpatterns.com/rdf#Value Object Participants v2'/>
                        <rdf:li rdf:resource='http://wiki.moredesignpatterns.com/rdf#Value Object'/>
                        <rdf:li rdf:resource='#snipsnap-search'/>
                        <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>
