Princípios

Gerais

  • Não se Repita - Don’t Repeat Yourself (DRY) / Write Every Time (WET): princípio sobre o problema da duplicação de conhecimento.

    Cada parte do conhecimento deve ter uma representação única, não ambígua e definitiva dentro do sistema.

    Evite código duplicado por abstrair as coisas que são comuns e colocando essas coisas em um único local.

    Tenha cada peça de informação e comportamento em seu sistema em um único e sensível local.

  • Execute Around Method: controle sobre recursos externos, como operações em cleanup e locks.

  • Princípio de _Hollywood - Hollywood Principle: Não nos chame, nós chamaremos você - Don't call us, we will call you, especifica como componentes de alto e baixo nível interagem sem criar dependências, sendo uma técnica para a construção de frameworks e componentes.

  • Ordene, não peça! - Tell, don't ask!: peça o produto da informação ao elemento de programação na qual é dono da informação - reduza os acoplamentos, priorizando o encapsulamento.

    Técnicas para a refatoração: delegação e redirecionamento.

  • Princípio do Mínimo Conhecimento - Principle of Least Knowledge: também conhecido por Law of Demeter (1988) ou Don't Talk to Strangers, fale somente com seus amigos imediatos:

    1. O elemento em si;
    2. Os elementos passados como parâmetros para o elemento;
    3. Quaisquer elementos criados e/ou instanciados;
    4. Quaisquer componentes do elemento; e
    5. Os elementos globais.
  • Mantenha Simples, Estúpido - Keep It Simple, Stupid (KISS): em edição.

  • Você Não Vai Precisar Disso - You Aren't Gonna Need It (YAGNI): resista a urgência da necessidade no futuro, guiando o desenvolvimento através do TDD.

Conceitos

  • Herança - Inheritance: é o ato de um elemento de programação estender as responsabilidades de outro elemento de programação através da construção de um novo nível na hierarquia durante o tempo de compilação.

  • Encapsulamento - Encapsulation: é o processo de envolver elementos de programação em entidades maiores e mais abstratas, com o objetivo de proteger a informação (em meios controlados) de ser utilizada incorretamente, assim separando o tipo de sua classe, ou seja, os dados de seu comportamento ou também o que fazer de como fazer - outros nomes utilizados são Ocultamento de Informação (Information Hiding) ou Separação de Interesse (Separation of Concerns). Em projetos, o Encapsulamento refere-se a API, enquando o Ocultamento de Informação a sua implementação.

    Separa o que varia do que permanece constante.

    Protege os elementos de programação de desnecessárias mudanças.

  • Polimorfismo- Polymorphism: em edição.

  • Delegação - Delegation: é o ato de um elemento de programação encaminhar uma necessidade/responsabilidade para outro elemento de programação, para ser executado em função do primeiro.

    Blinda seus elementos de programação de alterações nos outros elementos de programação.

    É um exemplo extremo de composição.

  • Redirecionamento - Forwarding: em edição.

  • Composição - Composition: é o ato de um elemento de programação usar as funcionalidades/comportamentos de uma família de outros elementos de programação e modificar (por seleção) essas funcionalidades/comportamentos em tempo de execução.

  • Agregação - Aggregation: é o ato de um elemento de programação usar as funcionalidades/comportamentos de outros elementos de programação, mas sem controlar seu tempo de vida.

  • Associação - Acquaintance: em edição.

results matching ""

    No results matching ""