Burzliwy rozwój obiektowości nastąpił w połowie lat 90. wraz z upowszechnieniem się takich języków jak C++ czy Smalltalk. Obecnie programowanie zorientowane obiektowo wciąż jest jednym z najważniejszych paradygmatów projektowania. Łatwo zauważyć, że większość nowoczesnych języków programowania i technologii sieciowych opiera się na technikach obiektowych. Nieco trudniej jest dostrzec, że mimo szybkiego ewoluowania technik i języków programistycznych podstawowe pojęcia programowania obiektowego pozostają niezmienne i niezależne od jakiejkolwiek platformy. Początkujący programiści powinni więc poświęcić nieco czasu na zapoznanie się z tymi pojęciami i naukę czegoś, co można nazwać "myśleniem obiektowym w programowaniu Ta książka jest kolejnym, poprawionym i uzupełnionym wydaniem wyczerpującego wprowadzenia do programowania zorientowanego obiektowo. Jej głównym celem jest przedstawienie podstaw myślenia obiektowego i najważniejszych pojęć w tym zakresie. Wyjaśniono tu, w jaki sposób poprawnie posługiwać się dziedziczeniem i kompozycją, odróżniać agregację od asocjacji oraz zrozumieć różnice między interfejsem a implementacją. Szczególną uwagę zwrócono na technologie, które przetrwały próbę czasu ostatnich 20 lat i stały się rdzeniem koncepcji programowania obiektowego. Opisano też najważniejsze wzorce projektowe, wskazano techniki unikania zależności i zaprezentowano zasady zwane SOLID, których przestrzeganie pozwala tworzyć kod wysokiej jakości, zrozumiały i elastyczny.