Design Orientado a Objetos: Princípios e Padrões (1a Ed)

Realizarei nos dias 24/09/2016 e 01/10/2016, o treinamento “Design Orientado a Objetos: Princípios e Padrões”, com um enfoque mais aprofundado em POO, discutindo diversos princípios e padrões, de forma a utilizar a POO de forma mais efetiva e com maior qualidade.

O treinamento será PRESENCIAL, aqui em Campo Grande/MS. Mais informações, vocês encontram na página do mesmo: http://eventick.com.br/oopp/

São apenas 9 vagas! Agradeço a quem puder divulgar!

Para quaisquer informações que não estejam na página, como, por ex, realização in-company, entrem em contato: falecom@robsoncastilho.com.br

Anúncios

Padrões de DI: Introdução

Olá, pessoal

Iniciarei com este post uma série sobre padrões de Dependency Injection ou, daqui em diante, simplesmente “DI”.

Este primeiro consiste em uma rápida introdução sobre DI, antes de seguirmos com os padrões de fato.

Vamos lá!

1. O QUE É DI

DI é uma técnica que tem por finalidade o desenvolvimento de software com baixo acoplamento e, portanto, mais fácil de ser mantido.

Pensar em DI é pensar com carinho onde empregamos o uso do famoso “new”, de forma que possamos minimizar o acoplamento entre as classes do software, tornando-o mais flexível.
Continue lendo »

Tell, don’t ask

“Tell, don’t ask” é uma das práticas mais importantes da orientação a objetos, pois tem por maior objetivo reforçar a ideia de encapsulamento, conceito fundamental desse paradigma.

O nome vem do fato de que devemos dizer (tell) ao objeto o que fazer ao invés de perguntarmos (ask) ao objeto sobre seu estado e tomarmos alguma decisão.

Vamos a um exemplo onde “Tell, don’t ask” não é aplicado:

// ---- código-consumidor do objeto "carro" ----

carro.AcelerarPara(150);
// violando o "Tell, don't ask"
if (carro.VelocidadeAtual > carro.VelocidadeMaxima)
    throw new Exception("Velocidade superior à velocidade máxima!");

Continue lendo »

Design Patterns: Usando Composite para montar uma estrutura em árvore

Blz, pessoal

Já tem algum tempo que não escrevo sobre design patterns. Vou falar neste post de um padrão que utilizei no meu projeto atual, conhecido por Composite.

A ideia desse padrão é montar uma árvore onde tanto as folhas (objetos individuais) quanto os compostos (grupos de objetos) sejam tratados de maneira igual. Em termos de orientação a objetos, isso significa aplicarmos polimorfismo para chamar métodos de um objeto na árvore sem nos preocuparmos se ele é uma folha ou um composto.

Vamos seguir com a teoria básica e alguns exemplos de uso. Continuar lendo “Design Patterns: Usando Composite para montar uma estrutura em árvore”

Princípios SOLID: Princípio da Inversão de Dependência (DIP)

Olá, galera

Chegamos, enfim, ao último post da série sobre os cinco princípios SOLID, o qual abordará o Princípio da Inversão de Dependência (Dependency Inversion Principle), ou simplesmente DIP.

O DIP é base para um bom design orientado a objetos e extremamente importante para o projeto de uma arquitetura de software flexível e focada no domínio.

Então vamos ao que interessa. Continue lendo »