Another good pattern to follow when developing applications is the MVC, or Model-View-Controller, pattern.
MVC is useful if you intended your program to work with multiple user interfaces (e.g. an application that can use either Windows Forms, a custom GUI or a web browser) or when you intend to plug in different processing engines to perform do the guts of the work.
A great resource for learning MVC is this entry on the website of the company Primary Objects.