Niclas Hedhman wrote:
On Sun, Apr 5, 2009 at 7:12 PM, Rickard Öberg <[email protected]> wrote:
Niclas Hedhman wrote:
So, I am not that convinced of the "merge"-talks either.
In fact, I am getting more and more into the notion that "mutations"
should be placed in stand-alone processes, in a such a way that they
are queueable and re-executable (idempotent).
With the basic operations being setProperty(value), setAssociation(ref),
addManyAssociation(idx, ref) and removeManyAssociation(ref), I think they
will be idempotent. set are trivially idempotent, addMA is also, since the
association is defined with set semantics, and removeMA is also idempotent
(removeManyAssociation(idx) would not be).
Perhaps I wasn't clear enough.
My thinking is like this;
The 'mutation process' is the algorithm that covers everything that
encapsulates the change. I.e. instead of "Change C.Property1 to 4" it
is "Take A.Property3, add B.Property4*2, and set the result in
C.Property1". It suits the UnitOfWork thinking quite well, but I have
a GutFeeling UoW in Qi4j is 'too flexible' and will allow people to
f**k up.
And to make something like that work, I think one needs to really go
deep into the model and possibly challenge the obvious, since it is
somewhat against our way of thinking, where everything is
'transactional'.
Ooh, I see what you mean. Yeah that is one step further altogether.
/Rickard
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev