Mandamentos da Orientação a Objetos - Artigo .Net Magazine 79

Desenvolver sistemas é mais do que criar classes a esmo, formulários e colocar tudo ali. É pensar no problema, possíveis soluções e unir tudo em algo que não cause mais problemas. Por isso existem os bons princípios para desenvolvimento de softwares orientados a objetos. Neste artigo vamos estudar os mais divulgados.

Do que trata o artigo

Desenvolver sistemas é mais do que criar classes a esmo, formulários e colocar tudo ali. É pensar no problema, possíveis soluções e unir tudo em algo que não cause mais problemas. Por isso existem os bons princípios para desenvolvimento de softwares orientados a objetos. Neste artigo vamos estudar os mais divulgados.

Para que serve

Os princípios são resultado de estudos da engenharia de software, e são utilizados para que se criem sistemas que sejam fáceis de dar manutenção, que possam responder rápido às mudanças de regra de negócios e flexíveis.

Em que situação o tema é útil

Desenvolver um sistema flexível é bom para você, como desenvolvedor, e bom para seu cliente. Para você é bom porque levará menos tempo para ajustar o sistema e o fará com segurança. Para seu cliente é bom porque ele verá que o sistema que ele utiliza é estável e que não vai deixá-lo na mão.

Resumo do DevMan

Os princípios de modelagem de objetos são guias que nos levam a construir softwares flexíveis e estáveis. Evitando dependência excessiva entre as classes, duplicação de código e outros problemas mais. Neste artigo vamos estudá-los com exemplos práticos para que você leitor os assimile e possa utilizá-los no seu dia-a-dia.

Sempre se fala da orientação a objetos como a bala de prata para todos os problemas, desde análise à programação. Porém, colocar tudo em classes não resolve o problema, podendo até mesmo criar muito mais problemas, pois um software orientado a objetos mal construído é sinônimo de dor de cabeça.

Acredito que todos os leitores já sabem o que é uma classe, uma propriedade, um método. Já conhecem estruturalmente a orientação a objetos, o que falta é saber como modelar tudo isso de forma adequada.

Regras de negócio mudam constantemente e isso faz com que seja um desafio construir um software que responda rápido às mudanças apresentadas. Aplicativos bem desenvolvidos podem oferecer vantagem competitiva para seus clientes, contudo o projeto mal modelado pode levar a prejuízos por enrijecer processos, já que não se adapta às mudanças de forma eficiente. Vamos identificar os elementos de um bom design e de um não tão bom. Enquanto estiver lendo esses elementos, compare com o(s) sistema(s) que você desenvolve(u).

Modelagem boa

Aplicações bem desenhadas oferecem rotinas que são robustas, de fácil manutenção e reutilizáveis. Elas devem estar aptas a se adequar às mudanças sem afetar sua modelagem. Um exemplo disso seria uma aplicação onde é necessário exportar um arquivo em um determinado formato. Adicionar novos formatos ao sistema atual deve ser uma tarefa fácil. As três características de um bom design são:

Modelagem ruim

Ninguém desenvolve um software não muito bom porque quer. Isso é decorrência da inexperiência ou de uma modelagem feita às pressas para atender a um tempo limite de entrega. Sistemas construídos dessa maneira costumam ter os seguintes problemas em comum:

Agora que vimos como se parece, do ponto de vista arquitetural, um bom sistema e um ruim, vamos conhecer alguns princípios que podem determinar o sucesso de design.

Seja S.O.L.I.D.

Essa sigla é um acrônimo para a palavra em inglês “solid”, que significa sólido, solidez. Cada letra representa um acrônimo de um princípio, ou seja, temos um acrônimo de um acrônimo. Esse conjunto é o resultado de estudos e experiências de vários desenvolvedores, e foi primeiramente catalogado por Robert “Uncle Bob” Martin (veja sessão links) em seu livro “Applying Principles and Patterns”. Vamos conhecer cada princípio." [...] continue lendo...

Artigos relacionados