In several projects we have been using the following layers:
- Action (has 1 or more managers)
- Manager(has 1 or more Daos)
But most of the time the manager only calls the dao. We do use the manager class to prepare the date to be sent to the db or to prepare the data to be sent to the action(is this a good practice?).
- What are the responsibilities of a Manager and of the Dao classes?
- Do we have to have a manager for every dao or can we just use the dao directly?
- How do I handle situations where I need to use the functionality implemented in several Managers?
PS: I know that there is no golden hammer so I'll narrow it to the types of apps we do, generally webapps for banks.