Disclaimer: I am not a OOP guru, just software developer. Use your good judgement.

The purpose of this post is to collect a list of principles about OOP with references and materials to better understand each topic.