Uma contribuição que eu posso dar para você é que deve-se levantar os requisitos da sua aplicação antes de adotar uma arquitetura, assim sendo não tem uma melhor abordagem, a melhor abordagem sempre será a que se encaixa no seus requisitos