Tuesday, January 23, 2007

Strategy Pattern Lecture

I think today's class went pretty well. Here are the things I liked:
  • you started asking and answering questions,
  • we looked at two examples of code that used the pattern, and
  • we did some brainstorming on how to apply the pattern.
I'm hoping that you all followed the duck example and why our early design strategies wouldn't scale nicely, but I wish I would have focused on the concepts of scalability and adaptability more. One of the original motivations for many of the design patterns is that our customers' needs change with great regularity. This means that our success depends on our ability to modify our software easily without introducing defects. We'll get to talk about this some more, but I wish we would have started that conversation today.

When I think about the time we spent writing the bank account example, I'm afraid it went too quickly. There were a lot of details and I'm not sure how much you can watch what I'm doing in Eclipse. When I write code in Eclipse, can you see the code? Can you tell what I'm doing with things like quick fix?

BTW, the podcast for the programming part of the day got corrupted some how, so I re-created it. I tried to develop the code in the same order we did in class, but I had some extra details to talk about the second time through. You might want to watch!

Finally, I'm afraid that many of you didn't follow the mock object stuff in the tests we built, but I'm not too worried about it. You'll do it again in the lab on Thursday, so we'll have another pass at it. However, in general, we need to find a way to make sure that you can pick those things up in class. I like coding together, but any ideas on how to improve these parts of the lecture would be appreciated.

2 comments:

Anonymous said...

Watching you code in eclipse would normally be hard to follow, but you explain what you are doing at every step along the way. I find this very since refreshing since none of my previous professors did.
the mock object was a little confusing for me, personally, but I don't know about anyone else. As you said, though, I'm not worried since the lab will give me another chance.

Dr. Wellington said...

Thanks for commenting! I'm glad my explanations help - that's part of pair programming (which is a technique many teams use). If I ever miss an explanation, please stop me and make me clarify what I'm doing.