Yevhen Kalinichenko, Senior JavaScript Developer “Object oriented concepts in real projects” - Abstraction. What is it and what abstraction gives us - Inheritance. Why do we need inheritance? Composition over inheritance. - Encapsulation. Why it’s so important to hide implementation. Breaking of encapsulation leads us to maintenance hell - Polymorphism. Working with interface but not with concrete implementation - Single responsibility. Why “classes” must adhere single responsibility - Open/Closed principle - Related topics – cohesion, coupling, interfaces, separation of responsibilities for each team member.