Eu acho que depende. No projeto em que estou trabalhando atualmente, usamos as duas abordagens. Eu suponho que se resume a como a funcionalidade da janela filho é relacionada ao pai. Se a nova janela for na maior parte suplementar, como um prompt ou uma pequena caixa de diálogo de entrada, simplesmente usei o contexto de dados do pai, porque os dados fornecidos por esse diálogo ainda eram muito relevantes para a funcionalidade do pai. Por outro lado, se a nova janela for um recurso significativo em si, pode ser mais apropriado usar um novo contexto de dados que retorne ao pai (se aplicável). Pense nisso desta maneira, quando projetar uma classe, quando é apropriado dividir a funcionalidade em outra classe? Você não precisa necessariamente de um modelo de visão difícil de lidar com um monte de funcionalidades não relacionadas reunidas. Infelizmente, isso se transformou em uma resposta bastante confusa que depende do seu melhor julgamento.