I'm having some trouble figuring out how to break a project into various
controllers. Here's my situation. Say I'm building a small web store
that sells software. Each piece of software will belong to a given

Ok, so there are my two models 'Software' and 'Vendor'. I'd like to be
able to do basic CRUD on both a Vendor and and or a Product. However, I
want the Vendor to be a sort of Gateway to the Product. So let's say I
create the basic CRUD actions for the Vendor. If I'm viewing a Vendor's
info--name, address, url, etc-- that's where I would also see options
like: 'List Products', 'Create Product'.

So the real question is should I use one controller or two controllers?

If I used one controller I would have actions like:

If I used two controllers: