James Package

James é um pacote de Classes e Interfaces para projetos Orientados a Objetos.

Continue →

Objetos Puros

Mesmo que você tenha utilizado linguagens imperativas por toda a sua vida, você já deve ter ouvido falar em linguagens funcionais, assim como o termo Funções Puras.

E sobre Objetos Puros, você já ouviu algo a respeito?

Continue →

Pacotes e Versões no Lazarus

Se você já precisou trabalhar com versões diferentes de um mesmo Pacote de componentes no Lazarus, esse artigo pode ser útil.

Continue →

Identificador Único Universal

Como identificar unicamente seus Objetos?

Como fazer migração de dados sem se preocupar com campos auto-incremento e foreign key entre as tabelas?

Como diminuir o número de tabelas?

Continue →

Stored Procedures na Orientação a Objetos

Stored Procedures são sub-rotinas armazenadas no SGBD disponíveis às aplicações que o acessam.

Será que as Stored Procedures ainda são necessárias ou a Orientação a Objetos é suficiente e podemos jogar fora essa antiga tecnologia?

Continue →

Como Utilizar Herança Apropriadamente

Sempre favoreça a Composição de Objetos ao invés de Herança de Classe, mas se você ainda quiser ou precisar utilizar a Herança, sabia como utilizá-la apropriadamente.

Continue →

Classes de Exceção

Devemos codificar uma Classe para cada tipo de Exceção ou utilizar apenas um único tipo?

Continue →

Constantes Públicas

Quantas vezes você precisou instanciar uma Classe mas não sabia, com exatidão, o valor a passar em algum argumento do construtor? Essa dúvida quase sempre acontece com argumentos do tipo String e a maioria das API’s disponibilizam constantes para serem utilizados nos argumentos.

Bem, Constantes Públicas não deveriam ser utilizadas em projetos Orientados a Objetos.

Continue →

Scripts para Compilar FreePascal e Lazarus no Windows

Saiba como compilar uma nova versão do compilador FreePascal ou atualizar a IDE Lazarus utilizando diretamente o código fonte.

Continue →

Métodos Privados

Existe um pensamento que diz que todo Método Privado deveria ser, na verdade, a implementação de outro Objeto.

Continue →

A Definição de Objeto

Nesse artigo/vídeo eu explico a definição correta de Objeto dentro do paradigma da Orientação a Objetos.

Continue →

Tipos Primitivos nos Argumentos

Se os Objetos conversam entre si utilizando mensagens, ou seja, através dos seus Métodos, por que utilizaríamos Tipos Primitivos nos argumentos desses Métodos ao invés de utilizarmos Objetos?

Continue →

Código Duplicado, Talvez Não

É quase impossível não haver duplicação de código num programa real, com pelo menos algumas dezenas de linhas.

O importante é saber se essa duplicação é de Infraestrutura ou de Regras de Negócio.

Continue →

Retrospectiva 2016

A um ano atrás eu tinha a minha frente um oceano infinito de Blogs.

Há espaço para mais um blog? Como fazer diferença? Como ser notado nesse oceano que cresce exponencialmente todos os dias?

Continue →

Simplicidade

Hoje em dia temos acesso a dezenas de linguagens com inúmeros recursos como Orientação a Objetos, Generics, Classes anônimas, paradigma Funcional, Lambdas, Paralelismo…

Mas nós já dominamos o básico antes de começar a usar tais features?

Continue →