Friday, 7 December 2007

iGoogle's todo list

I discovered iGoogle's todo list widget today. I was even thinking of writing my own but now I'm a happy little munchkin.

Sunday, 2 December 2007

Domain Driven Design

So I went to another readify session the other day, this one about domain driven design. Some guy from Sydney was presenting it and he knew he was getting into holy war territory. There was the usual discussion, all of it good natured.

So what did I learn.

I think I learnt about the use of an aggregate. A class encapsulating a number of other classes/objects that has methods attached to it that may apply across more than one of the other objects. The example used was a transaction object, being used to deposit money into a bank account. Is the deposit method attached to the bank, the account or the customer. I suppose this has traditionally been the account that has transactions applied to it, but the suggested solution was to have a transaction aggregate object that has an account, a customer and a bank attached to it and put the deposit method on this object.

I'm not sure its a great example but I've seen similar things occur where a method can apply across two or more objects. usually it has led me to tack it onto one or the other object and pass a reference to the other required object. I always felt this was a little crap and now i have a logical solution and a reason why.

I learn a little more every day.