Postagens

Mostrando postagens com o rótulo reflexão

6 maneiras de fazer a mesma coisa, o que é considerado boas práticas?

As vezes tem tantas maneiras diferentes de fazer o mesmo código que nós ficamos na dúvida quanto a qual maneira usar. O que seria considerado "boa prática" pela comunidade e o que sua equipe entenderia melhor. Suponhamos que você esteja trabalhando dentro de um método de um Domain Service chamado UmDomainServiceChique(objetoDoDominio) que será chamado por uma API. Você tem uma regra de negócio chique para ser verificada que por enquanto chamarei de VerificaMinhaRegraChiqueComplexa(). Você chama UmDomainServiceChique(objetoDoDominio) e caso VerificaMinhaRegraChiqueComplexa() retorne true você vai querer que UmDomainServiceChique faça o que tem que fazer e a api retornar Ok 200, caso contrário você quer que a API responda um erro qualquer, tipo BadRequest, e retornar uma mensagem dizendo que VerificaMinhaRegraChiqueComplexa deu ruim. Eu vejo 6 maneiras de fazer isso, gostaria de saber a opinião de outrs devs sobre qual seria a maneira menos gambiarr...

Crie seu próprio Object Inspector!

Antes de mais nada, é bom dizer que esse não é um object inspector para ser usado em Design - Time, mas sim para ser usado em runtime. Ou seja, não foi usado nada de OTA. O objetivo principal desse object inspector é permitir que o usuario modifique propriedades dos componentes do seu programa ao gosto dele e salvar isso no banco de dados. Nada impede de você usar OTA e transforma-lo em um Object Inspector turbinado para design. Outro objetivo interessante seria listar os nomes dos metodos da form que são eventos, para que o evento de um componente possa ser trocado por outro, dando ao usuario final até uma certa liberdade de "Programação". Com essa técnica você pode criar, em seu aplicativo, um gerador de telas/cadastros do usuário, onde você disponibiliza uma paleta de componentes como a do delphi e um object inspector para listar e modificar as propriedades. As propriedades podem ser armazenadas em XML ou banco de dados. Esse Object Inspector está longe de ...