[Delphi] Design Patterns - Observer

Olá, leitores!
De todos os Design Patterns abordados até o momento, talvez o Observer seja um dos mais fáceis, tanto de compreender, quanto de implementar. Veremos que a sua proposta é bem interessante em relação à comunicação entre objetos. Durante o artigo, é possível que vocês lembrem ou identifiquem situações em que este padrão de projeto cairia bem.
Sem mais delongas, apresento-lhes o Observer!

Continue lendo

[Delphi] Design Patterns - Memento

Saudações, caros leitores!
Como bons programadores, sabemos que, em muitas ocasiões, é preciso salvar o estado atual de um objeto ou entidade antes de realizar uma operação, de forma que possamos restaurá-lo caso necessário. Um bom exemplo é o controle de transação de banco de dados – quando um erro ocorre, executamos um rollback na operação, restaurando o estado anterior de uma tabela. Esse procedimento de armazenamento e restauração de estados é basicamente o objetivo do Design Pattern deste artigo, chamado Memento.

Continue lendo

[Delphi] Design Patterns - Mediator

Boa noite, pessoal!
Em algumas ocasiões, um intermediário para coordenar as mensagens e interações entre objetos pode parecer uma solução adequada para evitar a forte dependência entre eles. Com o Mediator, essa solução é factível. Veremos, neste artigo, o conceito, propósito e uma aplicação prática deste padrão de projeto, mas, de antemão, já esclareço: o Mediator é bem fácil de compreender. 😉

Continue lendo

[Delphi] Design Patterns - Iterator

Olá, leitores, estou de volta! Peço desculpas pela ausência.
O artigo de hoje finalmente retoma a série de artigos sobre Design Patterns. Em continuidade, discutiremos sobre um padrão de projeto que é pouco conhecido na teoria, mas bastante aplicado na prática: o Iterator. Talvez você mesmo já tenha codificado este padrão sem ter ciência. Acompanhe!

Continue lendo

[Delphi] Criando um visualizador de DataSets com o Open Tools API - Parte 4

Finalmente chegamos ao fim dessa pequena série sobre Open Tools API. Agradeço a todos vocês por terem acompanhado e compartilhado os artigos!
Essa última parte, na verdade, envolve a implementação de uma melhoria para solucionar um problema de conflito de acesso ao arquivo de dados gerado. Para isso, utilizaremos uma Interface do Open Tools API chamada IOTAThreadNotifier. Let’s do it!

Continue lendo