Curso OOP and Software Design Best Practices

  • Development

Curso OOP and Software Design Best Practices

24 horas
Visão Geral

Este Curso OOP and Software Design Best Practices  e práticas recomendadas de design de software, oferecerá ao seu público de desenvolvedores uma cobertura abrangente e aprofundada da teoria e prática de design de software moderno. Partindo dos primeiros princípios, considera os princípios fundamentais da arquitetura de software, antes de introduzir os conceitos mais avançados e poderosos de Orientação a Objetos. Seguindo uma abordagem inabalavelmente pragmática, o curso considera o que sabemos ser verdade sobre design e desenvolvimento de software e, principalmente, o que podemos mostrar como falso.

O Curso OOP and Software Design Best Practices  é independente de linguagem e plataforma e fornece aos participantes exemplos e demonstrações em linguagens de toda a 'família C' de linguagens (C/C++ Java, JavaScript). O Curso OOP and Software Design Best Practices  também usa um pouco de notação UML para representar graficamente os conceitos em questão.

Objetivo

O objetivo do Curso OOP and Software Design Best Practices é que os participantes obtenham uma perspectiva única, autoconsistente e pragmática sobre a teoria e prática da programação moderna. Cristalizando os princípios e abordagens para o design e implementação de sistemas contemporâneos, ele fornece aos delegados uma ampla gama de insights poderosos e imediatamente aplicáveis.

Publico Alvo
  • Este Curso OOP and Software Design Best Practices  é destinado a desenvolvedores, testadores, cientistas de dados, analistas de negócios e qualquer pessoa que queira trazer uma abordagem mais estruturada para o desenvolvimento de software.
Pre-Requisitos
  • Os participantes devem ter alguma experiência em trabalhar com código, mas nenhuma experiência anterior em programação orientada a objetos é assumida.
Materiais
Inglês + Exercícios + Lab Pratico
Conteúdo Programatico

Objects

  1. The fundamental atoms of software development
  2. Objects defined –what is and is not an object?
  3. Time-Space complimentarity
  4. The difference between 'class' and 'type'
  5. Dispelling Myths
  6. Resolving Misconceptions

In Search of Symmetry

  1. Invariance in the face of other change
  2. Seeking and exploiting patterns
  3. Relationship between design patterns and language constructs
  4. Modelling the design-decision space

Object Relationships

  1. 'Has A' association
  2. 'Uses A' association
  3. 'Is A' association

Abstraction

  1. In search of purity
  2. Modelling models
  3. Modelling the modeller
  4. Proper abstraction – the craft and art of reification

Coincident Association ('Subsumption' or 'Has A')

  1. Encapsulation – the concept of 'scope'
  2. Subsumption misuse ('Has A' in place of 'Uses A' or 'Is A')
  3. Subsumption abuse (insufficient/excessive granularity)
  4. Implementation concerns

Non-Coincident Association ('Uses A')

  1. The nature of 'Uses A' relationships
  2. Uses-A misuse ('Uses A' in place of 'Has A' or 'Is A')
  3. Implementation concerns

Extension ('Inheritance' or 'Is A' relationships)

  1. The nature and implementation of extension
  2. Polymorphism (run-time substitutability)
  3. Abstract base classes and interfaces
  4. Multiple inheritance
  5. Virtual functions
  6. Extension misuse (the Circle-Ellipse problem)
  7. Extension abuse (the Inappropriate Taxonomy problem)
  8. Implementation concerns
TENHO INTERESSE

Cursos Relacionados

Curso Python Programação Advanced

32 horas

Curso SAP ABAP S4hana Developer Foundation

32 horas

Curso Full Stack and React Essentials

32 Horas

Curso Node.js for JavaScript Developers

24 horas

Curso Elasticsearch for Developers

16H

Curso Elastic Stack Foundation

24 horas

Curso Apache Spark™ Foundation

8 Horas