Skip to content

Instantly share code, notes, and snippets.

@osantana
Last active January 18, 2017 15:51
Show Gist options
  • Save osantana/4e2c2cdd4be23a8d1dfd1aeed73298cc to your computer and use it in GitHub Desktop.
Save osantana/4e2c2cdd4be23a8d1dfd1aeed73298cc to your computer and use it in GitHub Desktop.
OOP Modeling Book

OOP Design

  1. Sobre o que se trata OOP
  2. Reuso (objeto pode ser reaproveitado por outros contextos)
  3. Abstração
  4. Encapsulamento (esconder implementação)
  5. Alta Coesão (objeto fazer bem uma única coisa)
  6. Baixo Acoplamento (objeto pode ser substituído sem afetar outros objetos)
  7. Elementos OOP
  8. Interface 1. Visibilidade/Segurança (public/protected/private) 2. Polimorfismo
  9. Implementação 1. Objeto 2. Classe 3. Instância 4. Atributos / Propriedades 5. Mensagem / Método
    1. Assinatura de Métodos / Sobrecarga (overloading)
    2. Métodos especiais
  10. Modelagem e Uso
  11. Composição (tem um) (agregation, association, composite and cardinality)
  12. Especialização / Generalização (é um) 1. Herança (subclasse / superclasse) 2. Protótipo (Composição + Delegação)
  13. Delegação
  14. Sobreposição (override)
  15. Desenvolvimento
  16. Testes
  17. Refactoring
  18. Design
  19. Design Patterns (MVC et al)
  20. SOLID 1. Single responsibility principle 2. Open/closed principle 3. Liskov substitution principle 4. Interface segregation principle 5. Dependency inversion principle
  21. Demeter’s Law
  22. TDD
  23. Gerenciamento de Objetos
  24. Contagem de Referência
  25. Garbage Collecting

References

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment