April 26, 2007
Posted by scott at April 26, 2007 02:09 PM
I have now officially created my very first ASP .Net web application. It don't do much, but it works. Onward and upward!
eMail this entry!
now, did you really make an ASP.net app, or just an ASP app using visual studio? did you separate the presentation, business, and data layers? did you create class(es) for your business objects?
well, you gotta start somewhere... :-)
Now that I'm getting more familiar with the new stuff, it turns out I've been building MVP/n-tiered pattern applications for the past 10 years. Due to a quirk in the way I learned how HTML forms work, I've *always* separated presentation from logic, without exception. I'm also so comfortable creating stateless applications that a lot of the stuff ASP.net provides to track state is cumbersome and confusing to me, if not simply redundant.
It's my experience that separating business and data layers tends to be more complicated than it's worth. In Cold Fusion at least, encapsulating data methods often resulted in little more than a wrapper of a single query. This in turn created a ton of custom tags (roughly analogous to classes) that were hard to keep up with and really didn't promote reuse in the way I'd hoped. Toward the end of my CF development, I'd fallen back to a 2 layer "presentation and datalogic" pattern, which was much faster to create and (for me) easier to debug.
I'm certain that at least some of these methods were the result of not having true OO implemented in the language I was using. Also, IMO, .net uses extremely cumbersome and inelegant ways to interact with databases. Taking these two together, I have little doubt that three tiers will be the way to go.
Still, it is nice to know that, while I had lots of little- and medium-level things to learn, I'd been doing the big-level things right all along.