https://cheatsheetshero.com/user/all/552-solid-principles-cheat-sheet