Per il pattern model-view-controller puoi vedere qui:

http://www.claudiodesio.com/ooa&d/mvc.htm

Concordo con i consigli di battlehorse, inolte ti suggerisco di

- definire sempre delle interface e le relative classi che le implementano;

- modularizzare abbastanza le classi evitando classi con troppe funzionalità;

- rendere privati campi delle classi e limitare la comunicazione tra le classi ai soli metodi pubblici dichiarati nelle interfacce;

- utilizzare dei patter di progettazione (http://www.ugolandini.net/PatternsHome.html, http://www.mindview.net/Books/TIPatterns/)

Ciao.