This topic has been discussed a couple times here previously.
See:
as the two main threads on this topic. (This subject been touched on in a few other places as well, such as at Project structure and where to place new feature?, and Combining Urls, Views, Forms, and Models into fewer files)