SSD 6/16: Patterns, Anti-Patterns, and Refactoring [software design crash course]

This lecture and the other 15 in this series were given to 3rd year BSc students of Innopolis University (Russia) in 2021. The slide decks for these lectures were made in LaTeX. You can find their sources here: Innopolis University: Blog: Books: GitHub: (don’t hesitate to follow in order to stay informed) Telegram channel with recent news and updates: (subscribe to not miss a thing) Twitter with daily and weekly updates: (follow me!) iTunes: SoundCloud: Yandex Music podcast by yegor256: 0:00 The structure of the lecture 7:49 Some Patterns 8:29 Adapter, Facade, Proxy, Decorator, Bridge 13:30 Resource Acquisition Is Initialization (RAII) 21:32 Some Anti-Patterns. GOTO 23:04 Magic Numbers 39:59 God Class 41:56 Spaghetti Code 43:59 Anti-OOP Patterns 46:36 Getters and Setters. Data Transfer Object (DTO) 49:26 Utility Class 50:13 Singleton 55:53 Object-Relational Mapping (ORM) 58:46 Some Refactorings 1:01:42 Extract Method 1:04:00 Books, Venues, Call-to-Action