TRACK: Software Craftsmanship
Following OOP Principles - Hermetization in Java (Part 1)
It is a common problem that we, developers, get into a rut while designing our classes. We make our fields private and generate a bunch of public getters and setters with the help of our IDE, being sure that we just provided hermetization. Nothing more illusive. In this presentation I will show you what hermetization really is and how to provide one in Java. We will walk through a real-life code example, which we will improve step by step, looking at hermetization from numerous different perspectives - beginning with access modifiers, ending with serialization. You will also see how the concepts of hermetization, abstraction, and encapsulation overlap each other. We will discuss common pitfalls and good practices. During the presentation I will share some philosophical considerations and my own judgements and opinions, that will give you an overview of how broad the concepts of Object Oriented Programming really are.