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

Participants of the training should have basic knowledge of programming.

  21 Hours
 

Number of participants


Starts

Ends


Dates are subject to availability and take place between 09:30 and 16:30.
Open Training Courses require 5+ participants.

Testimonials (4)

Related Courses

Combined C/C++, JAVA and Web Application Security

  28 Hours

Advanced Java Security

  21 Hours

Combined JAVA, PHP and Web Application Security

  28 Hours

Standard Java Security

  14 Hours

Java and Web Application Security

  21 Hours

Advanced Java, JEE and Web Application Security

  28 Hours

Related Categories