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.
Testimonials (2)
The extra information that was shared, the training was not straightforward groovy, which was nice.
Covenant - Vodacom
Course - Groovy Programming
Good examples, focus on most useful material