Goal: Business logic should usualy interact with database.
There are three main Domain Logic Patterns:
Create new transaction class for each new business action.
Easy, but can get messy, does not scale.
Best organization, but mapping can be complex.
Note: DatabaseAccess is a private field, that would be passed to constructor.
Note: Interaction with Account as with single object, that is already initialized and syncronized with database.
Easy mapping, but no object instances: can be bad for complex logic.
Note: DatabaseAccess is a private field, that would be passed to constructor.