Silverlight is great, and with RIA services solves alot of stuff BUT.
Why are we forced to have get; set on every model?
I have been learned that if we have an Customer and the Customer Id should never change, then the Id property should be readonly, if the customer has an password that need to go through some logic before it shall be set the property should be readonly so noone can use my object in a wrong way.
And one of the biggest things we should almost never allow get; set on collections on for example invoice.Rows because it could create bugs hard to find. Maybe I want to block the invoice.Rows.Add (that by the way breaks Law of Demeter principle) method because I want to do some checking within an method invoice.AddRow(row); before adding the row.
Sometimes we want to solve this at the serverside for examplesending the row for the invoice over the service when its being added, but sometimes we want to build the whole invoice at the client and then send it over. I do not wanna need to ask the service hey I've just added this row can I get the recalculated totalprice with vat and without vat and so on.
Am I'm the only one who feels lost, or are my aiming and goals wrong, should't we use silverlight with object oriented thoughts?