OOP
https://www.youtube.com/playlist?list=PLrhzvIcii6GNjpARdnO4ueTUAVR9eMBpc
http://principles-wiki.net/collections:ood_principle_language