posted on Monday, September 06, 2004 9:24 AM
by
roydictus
Interest in Design Patterns
Last week, I taught a new workshop at U2U called .Net Patterns & Best Practices. It actually covers a wide variety of topics, from Enterprise Architecture to Design Patterns, Unit Testing, Iterative Development and Daily Build Practices. It was an interesting course to give and the students really liked it.
There was a special interest in Design Patterns and how to implement them using .Net. There was also a keen interest in Test-Driven Development, i.e. the practice where you write unit tests before you implement the method being tested, and then refining the test and refactoring the code (the well-known "red/green/refactor" cycle). I demonstrated it on a small project, then gave the students an exercise to experience it themselves. This was a real eye-opener, as they noticed when running their tests that it was quite easy to come up with a test that made their code fail. Then they fixed the discovered bug, reran the tests, added a couple new tests, found more bugs etc. It's one thing to tell a class about this cycle, it's another when they actually go through the cycle themselves.
Another exercise was that, after talking extensively about Naming and Coding Conventions, I let the students code-review a random piece of code I had picked up from the Net. Within minutes, they had found several problems with the code and pointed out how to fix them. It was another great aha-moment.
There was much less interest in Service-Oriented Architecture than I had anticipated. People just want a good overview of what it is, but they really can't be bothered with the details. It's too early for the majority of developers and architects I guess. Most just aren't losing sleep over it yet. Maybe it's too abstract now. I'd like to do a "light" implementation of a SOA framework some day, something that's quick to master and use and not as complex and feature-rich as FABRIQ...
It was a really interesting week (and for me a nice break from consulting work), and I'm going to refine the contents of the course before the next delivery four weeks from now, to focus more on the practical side of Design Patterns and to take some focus away from Service-Oriented Architecture.