No desenvolvimento de sistemas complexos, frequentemente nos deparamos com processos que seguem um roteiro fixo, mas com detalhes que mudam (como importação de arquivos), ou situações onde precisamos adicionar operações a uma estrutura de objetos sem modificá-la. Além disso, há o desafio de processar requisições que podem ser resolvidas por diferentes instâncias em uma corrente.
Ver resumo completo
No desenvolvimento de sistemas complexos, frequentemente nos deparamos com processos que seguem um roteiro fixo, mas com detalhes que mudam (como importação de arquivos), ou situações onde precisamos adicionar operações a uma estrutura de objetos sem modificá-la. Além disso, há o desafio de processar requisições que podem ser resolvidas por diferentes instâncias em uma corrente.
Neste artigo, veremos como o Delphi 13 utiliza esses padrões para criar códigos altamente extensíveis e com responsabilidades claramente definidas.
À medida que os sistemas se tornam mais complexos, dois problemas surgem: como percorrer coleções de objetos sem expor sua estrutura interna e como evitar que dezenas de classes fiquem acopladas entre si (o famoso "código espaguete"). Além disso, surge a necessidade de salvar o estado de um objeto para restauração futura.
Ver resumo completo
À medida que os sistemas se tornam mais complexos, dois problemas surgem: como percorrer coleções de objetos sem expor sua estrutura interna e como evitar que dezenas de classes fiquem acopladas entre si (o famoso "código espaguete"). Além disso, surge a necessidade de salvar o estado de um objeto para restauração futura.
Neste artigo, veremos como o Delphi 13 resolve esses dilemas com padrões que trazem ordem à comunicação e persistência temporária de dados.
Você já se deparou com uma unit de negócio onde o comportamento de um método é governado por um emaranhado de if FStatus = stPendente then... else if FStatus = stPago then...?
Ver resumo completo
Você já se deparou com uma unit de negócio onde o comportamento de um método é governado por um emaranhado de if FStatus = stPendente then... else if FStatus = stPago then...? Ou talvez tenha tido dificuldade em implementar um sistema de "Desfazer" (Undo) ou uma fila de processamento assíncrono?
Neste artigo, veremos como o padrão State limpa a lógica de estados finitos e como o Command transforma métodos em cidadãos de primeira classe no Delphi 13.