Duvida sobre persistir dados do usuario no banco de dados seguindo os conceitos do DDD

Olá !!

Tenho algumas dúvidas sobre o DDD(Domain driven design).

Fiz um sisteminha e criei várias camadas(Aplicação, Domínio e Infra)

1-Como eu poderia realizar a persistência/Recuperação dos dados no banco de dados ?
Estaria incorreto em criar uma classe de serviço “persistenciaDeUsuario” e nela realizar
a validação/verificação dos dados e se positivo chamar a classe/metodo “new usuarioDao().Cadastrar(usuario)” e dentro dessa classe chamar o metodo cadastrar da classe “UsuarioDao” e realizar a persistencia do usuário?
Quando eu quiser realizar uma atualização dessas informações cadastradas no banco eu chamaria um metodo da classe
do repositorio passando um id ex: RepositorioUsuario.BuscarUsuarioPorID(2) e após a edição das informações chamar novamente a classe de servico “persistenciaDeUsuario” e gravar os dados no banco;

Na vida real eu pensei da seguinte forma. Quando uma pessoa vai realizar um cadastro para obter um cartão de crédito em um supermercado. O Cliente(Entidade) passa
os dados para a atendente(Serviço) e ela verifica se os dados estão faltando ou estão incorretos. Se estiverem faltando ou incorretos ela notifica o cliente, caso contrário realiza
o seu cadastro. O atendente sabe que existe um lugar em que ele pode passar os dados e realizar o cadastro. Ele só não sabe em que lugar essas informações são armazenadas.

é mais ou menos isso ?