Quoting the answer of Andrew Hare on the This Question.
Object data sources are nice for small projects but they do not scale well as you are embedding data-layer information in the UI layer of your application. I would suggest that you only use them for very small applications and scratch-pad testing stuff. If you make a design decision to use them be prepared to struggle with scaling and maintenance issues in the future.
Application Architecture = Maintainability + Scalability + ......
And I think, every article that I've read to start learning application architecture used some classes to build up the business data layer and used ObjectDataSource
to connect the presentation layer with the business layer.
Looks like I've got all wrong. What's really the best approach to use for the business layer and its connection with the presentation layer?
There is no doubt that ObjectDataSource makes the binding process easier.
It handles filtering, paging etc..with less headache.
Points to be considered.
So if we consider all these points ODS does not scale well.
I don't use the ObjectDataSource; personally, I like the control over the binding process, so I bind directly through the DataSource property, and not use the DS controls. Because the DS controls when to bind or not bind, I dislike tapping into events to cancel binding only because I didn't want to do it at that specific time... It can mask some types of coding blunders, making it harder to debug, but if there is an error, you can tap into the selected, inserted, etc. event and handle the error, I believe.
However, I don't see why its wrong; I am not quite sure why it wouldn't scale well... if it works for you, and when you test the performance is OK, then why not I would say.
HTH.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With