Best way to create forms to edit object tree

I’m searching for experiences on what is the best way to create forms to edit object trees.I’m building an enterprise app in which I want to edit e.g. contacts where each contact has a list of adresses. Would it be better to use views or modal dialogs?