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.