Tuesday, July 24, 2012

Learning MVC and things that go with it

I've been trying to get a handle on newer Microsoft .NET technologies of late. There's a lot to go around. Poking around in all of the new stuff is fun but also frustrating. I've decided to focus on a few of the many technologies out there. Maybe someday I'll go into the decision making process, if I can remember what that was, but not today. In the meantime I'll just talk about what the decisions were.

Before I get into those decisions I'm going to spout a bit about how difficult this endeavor has been so far.

There are a few hindrances for me in picking this stuff up. The least of which is NOT that I'm supposed to be working on and producing on some other things at the same time I'm trying to move forward with this stuff. It's kind of like trying to fix the leaks in the boat you're traveling on while it's underway. If you stop bailing too long, you'll sink. If you don't fix the leaks you'll have to keep bailing forever. That and they'll likely just get worse as time passes. Spending time in dry-dock is out of the question for the time being so the only choice is to do it in my "spare time".

Add to that, I don't have the development or education background to jump right in with this. Though I've been writing code of one type or another for going on decades now, I've gotten by without learning some of the deep down concepts. I'm a QA engineer and didn't need to know that much until now. I've been standing on the shoulders of others and getting by just copying patterns of existing code without truly understand what was going on underneath. I can't get away with that technique and learn this stuff. Those shoulders simply aren't there/here anymore. Besides, I need to get to know this and now is as good a time as it will ever be.

So, a quick list of the technologies:

  • .NET 4 and later.
  • .NET MVC (Model View Controller) with Razor.
  • Microsoft Enterprise Library (MS EntLib) latest version.
  • MS EntLib Unity for Dependency Injection.
  • Test Driven Development (TDD).
  • LINQ for data retrieval.
  • MS Entity Framework.
  • Selenium 2.0.
Part of the reason for the desire to learn this is that we need to do some upgrading at work. Some of the technology we're using is circa 2003. It's solid but it's got us stuck in a difficult place. We need to escape some libraries we're using but there never seems to be enough time to research how to go about making that transition. While I was looking into some technologies (Am I saying that too much?) for a personal project I made the point of choosing ones that would dovetail with the work environment. I've pretty much got buy-in from a key group of people at work so I'm going with it.

So, that's a rundown of what I think I'm doing. It's a simple list of destinations. Maybe some maps and some of that other planning stuff to get to those destinations in the next post.

No comments:

Post a Comment