Olá, Carolina! Tudo joia?
Ambas as abordagens têm suas vantagens e implicações.
Utilizar um método como DataRowToUnit para converter um DataRow em uma instância de Unit pode ajudar a manter o construtor da classe mais limpo e focado apenas na inicialização básica, sem depender diretamente de uma estrutura de dados específica como DataRow.
Isso pode ser útil para separar as responsabilidades, onde a conversão de dados é tratada externamente e o construtor se mantém focado na inicialização dos valores internos da classe.
Por outro lado, implementar um construtor que aceite um DataRow pode tornar o código mais direto e fácil de entender, como você mencionou. Isso coloca a responsabilidade de interpretar o DataRow diretamente dentro da classe Unit, o que pode ser mais conveniente se essa operação for muito comum e específica para o contexto em que a classe Unit é utilizada.
A escolha entre um método e um construtor pode depender de vários fatores, como coesão da classe, reutilização do código e testabilidade. No seu caso, se você achar que integrar o construtor com a capacidade de interpretar DataRow torna o código mais claro e mantém tudo mais organizado para o seu cenário de uso, essa pode ser a abordagem preferível.
No entanto, se a conversão de DataRow para Unit for algo que possa ser reutilizado em outros contextos ou se você quiser manter o construtor da classe Unit mais genérico e focado, manter o método DataRowToUnit separado pode ser mais vantajoso.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.