BT

Princípios SOLID de design para JavaScript

por Jan Stenberg , traduzido por Elias Lima de Souza em 10 Fev 2014 |

Muitos desenvolvedores têm trabalhado com linguagens orientadas a objetos e muitos estão trabalhando com JavaScript, mas pouquíssimos utilizam os princípios de orientação a objetos juntamente com o JavaScript, declarou Derick Bailey, autor e desenvolvedor focado em JavaScript, em uma apresentação no CodeMash. Na programação orientada a objetos nós falamos sobre fundamentos e princípios como base para nosso trabalho, mas quando mudamos de uma linguagem baseada em classes estáticas para linguagens fracamente tipadas, freqüentemente achamos difícil aplicar os mesmos princípios.

Derick acredita que existem vários bons princípios, práticas e padrões disponíveis para ajudar os desenvolvedores a escreverem códigos bons e estáveis em JavaScript, um exemplo disso são os princípios SOLID, identificados por Robert C. Martin, no começo dos anos 2000.

Ele descreve os princípios SOLID como cinco padrões individuais que funcionam bem juntos e caminha pelos princípios utilizando exemplos de códigos e procurando algumas particularidades em JavaScript que possam fazer a aplicação desses princípios um pouco diferente, quando comparados a quando são utilizados em linguagens como Java e C#.

As definições de Derick para os cinco princípios são

  • Princípio da Responsabilidade Única. Tudo deve possuir apenas uma razão para mudar. Isso ajudará os desenvolvedores a entender o contexto e a responsabilidade do que eles estão construindo e quando existe uma necessidade de mudança.
  • Princípio Aberto-Fechado. A mudança de comportamento deve ser possível sem alterar código existente. Por exemplo, utilizando pontos de extenção, onde a classe base não é alterada, mas tem seu comportamento complementado através de abstrações e/ou interfaces, criando código que pode ser plugado ao já existente.
  • Princípio da Substituição de Liskov. Objetos derivados ou tipos devem ser subistituíveis pelo seu tipo base. Para Derick, essa é a versão mais focada do princípio Aberto-Fechado.
  • Princípio de Segregação de Interfaces. Um cliente não deve ser forçado a depender de interfaces que não usa. O problema é que não existem interfaces explícitas no JavaScript, mas existem formas de contornar isso.
  • Princípio de Inversão de Dependências. Consiste em dois conceitos, abstração, que define que nós devemos depender de abstrações, não de implementações concretas e propriedade, que define que a implementação de baixo nível deve depender de conceitos de alto nível.

Derick finaliza declarando que se você possui grandes blocos monolíticos de código em seu sistema, os princípios SOLID irão ajudá-lo a quebrar esses blocos em peças individuais, menores. Isso não irá diminuir a complexidade, mas irá ajudá-lo a criar abstrações e agrupar detalhes em conceitos maiores, nos quais conseguimos pensar com maior facilidade.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT