Course Outline

The need for object-oriented programming

  • An attempt to reflect the real world in programming

  • The beginnings and evolution of object-oriented programming

  • Programowanie obiektowe in terms of the KISS and DRY rules

Classes and objects

  • Ideas and entities in Plato's philosophy

  • The role of classes

  • Implementation of classes using objects

  • Classes, properties and static methods

Naming and coding conventions

  • Class naming

  • Naming properties and methods

  • Naming packages and folders

  • Other conventions

Class structure

  • Properties/fields as a description of the object's state

  • Accessories

  • Methods as the implementation of functionality

Modeling and graphical representation of classes

  • Requirements analysis
  • Modeling the structure of classes and relationships
  • Describing business objects
  • EER diagrams
  • Class diagram UML

Object-oriented programming paradigms

  • The concept of a paradigm

  • Hermetization

  • Abstraction

  • Inheritance

  • Polymorphism

Design and implementation of the abstraction layer

  • Abstract classes

  • Interfaces

  • Features -Traits

  • Nested clases

  • Generic classes

Creating objects

  • Ways to create objects

  • The role of the designer

  • Factory Pattern

Dependencies between classes

  • Aggregation

  • Composition

  • Dependency separation - Decoupling

  • Dependency injection, DIC containers

  • Mediator Pattern

Code organization

  • Designing reusable code

  • Folder structure

  • Namespaces, packages, modules

Programowanie obiektowe and performance

  • Memory reservation for objects

  • Garbage Collector

  • Explicit removal of objects, destructors

  • Working with references

Reflection mechanism

  • Area apply reflection

  • Obtaining information about classes and objects

  • The importance of reflection in creating documentation and software testing

Error handling

  • Possible error handling models

  • Object-oriented error handling model

  • The role of exceptions and the Exception class, throwing and catching exceptions

  • Try-catch-final block, block nesting

Antipatterns of object-oriented programming

  • Excessive class responsibility, Delegation pattern

  • Strong dependencies

  • Singleton and potential problems

  • Anemic Domain Model

  • Other antipatterns

Requirements

Training participants should have basic knowledge of programming.

 21 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses