Writing a drawing-library is a mental excersive which aims to help MonoUML and to learn something else to allow me to develop better and faster. Of course would love seeing our effort used something else in the future. Nowadays am imagining a new layer to support drawing recognition, you know, draw a circle and... actually draw a circle, will be so cool.
Googling around, I've found two nice two nice links related to patterns and software, first one, contains severals links in spanish and some others in english, second one, is a software patterns tutorial-like, must read.
First read, then learn, finally code.