Course Outline
The need for object-oriented programming
- An attempt to reflect real-world programming
- Evolution of object-oriented programming
- Object-oriented programming in terms of the rules of KISS and DRY
Classes and Objects
- Ideas and entities in the philosophy of Plato
- The role of classes
- Implementation classes using objects
- Classes, properties, and static methods
Naming conventions and coding
- naming classes
- Naming properties and methods
- Package Naming and folders
- Other conventions
class structure
- Properties / field as a description of the object
- Accessor
- Methods for the implementation of functionality
Modeling and graphical representation of classes
- requirements Analysis
- Modeling the structure of classes and relationships
- Describing the business objects
- EER diagrams
- UML class diagram
Object-oriented programming paradigms
- The concept of paradigm
- Encapsulation
- Abstraction
- Heirdom
- Polymorphism
Design and implementation abstraction layer
- Abstract classes
- Interfaces
- Features -Traits
- Cyclase nested
- Class generic
Creating objects
- Ways to create objects
- The role of the constructor
- Pattern Factory
Relationships between classes
- Aggregation
- Composition
- Chapter dependence - Decoupling
- Dependency injection containers DIC
- Mediator pattern
The organization code
- Design code reusability
- Folder structure
- Namespaces, packages, modules
Object-oriented programming and performance
- Reservations memory for objects
- Garbage Collector
- Explicit deleting objects, destructors
- Working with references
The mechanism of reflection
- The area to apply reflection
- Acquiring information about classes and objects,
- The importance of reflection in the creation of documentation and software testing
Error handling
- Possible models of error handling
- Object Model error handling
- The role of exceptions and class Exception, throwing and capturing unique
- A try-catch-final, nesting block
Object-oriented programming
- Excessive liability classes, pattern Delegation
- Strong dependence
- Singleton and potential problems
- Anemic Domain Model
Requirements
The participants should have a basic knowledge of programming.
Testimonials
I really liked that there were a lot of practical exercises in which you could put the learned immediately into action.
Daniel Bubla
The atmosphere was very nice, much more relaxed conversation than classic teaching style. Also, several of the techniques, especially those I doubt would hold up or be worth it (effort-gain-wise) under “real world” work conditions (as mentioned above) made me reflect on my coding style, and why I do or don't do some things (both on topics presented int he course and related ones), which I don't do that often (needed the impetus) but is really useful, even if I come to the conclusion that my style already suits my needs well.