Merging In Subversion I’m not afraid of no Regex
Feb 22

Today has been a day of learning about designs and design patterns.

This morning I’ve been designing a UI for a project we’ve been working on where one of the selling points was improving the user experience. We’re trying to move away from a sprawling tabbed based design towards something more fluid and friendly. I’m not particularly well versed in the art of UI design and UX overall, but thankfully there’s a lot of room for improvement in the product we’re looking to replace. I’ve been referring to quince quite a lot – a UI design pattern site from the guys at infragistics. The site allows you to choose from a list of user tasks and view different ways of solving them using examples from popular sites and software. Very impressive.

This afternoon I made the trip way out west to visit the museum of brands in Notting Hill. Here they house a huge collection of packaging from old and new products, particularly sweets and chocolate wrappers. You can see how the style of branding and packaging has evolved from the Victorian period to the present, how the humble packet of space raiders has slimmed down and become less supergalactic over the years, while the prestigious Swiss Toblerone has remained virtually unchanged throughout.

sweeties_square2

When I got back I had a whizz through the Command Pattern section of the excellent Head First Design Patterns book. In their words:

The Command Pattern encapsulates requests as objects, allowing you to parameterise other objects with different requests, queue or log requests, and support undoable operations.

I built myself a pluggable remote control completely decoupled from the objects it invokes. Not too complicated and very clean. If only all real world problems could be reduced to simple ones like building a remote control, or a pizza factory. I’ll stick the code below. It’s not pretty on the UI – I’m all designed out for today, but I’ll jazz it up with an experiment in WPF sometime soon.

Download Command Pattern code.

Leave a Reply