Add design patterns
This commit is contained in:
parent
b64928ef32
commit
7e85607e7d
@ -11,8 +11,8 @@
|
|||||||
- [Pick a powerful text editor and learn its ins and outs](#pick-a-powerful-text-editor-and-learn-its-ins-and-outs)
|
- [Pick a powerful text editor and learn its ins and outs](#pick-a-powerful-text-editor-and-learn-its-ins-and-outs)
|
||||||
- [Learn the ins and outs of one programming language](#learn-the-ins-and-outs-of-one-programming-language)
|
- [Learn the ins and outs of one programming language](#learn-the-ins-and-outs-of-one-programming-language)
|
||||||
- [Topic-specific materials](#topic-specific-materials)
|
- [Topic-specific materials](#topic-specific-materials)
|
||||||
- [Architecture and design patterns](#architecture-and-design-patterns)
|
|
||||||
- [Best practices, attitude](#best-practices-attitude)
|
- [Best practices, attitude](#best-practices-attitude)
|
||||||
|
- [Code architecture and design patterns](#code-architecture-and-design-patterns)
|
||||||
- [DB and SQL](#db-and-sql)
|
- [DB and SQL](#db-and-sql)
|
||||||
- [Dev environment, command line and Linux](#dev-environment-command-line-and-linux)
|
- [Dev environment, command line and Linux](#dev-environment-command-line-and-linux)
|
||||||
- [Distributed systems and system architecture](#distributed-systems-and-system-architecture)
|
- [Distributed systems and system architecture](#distributed-systems-and-system-architecture)
|
||||||
@ -126,19 +126,6 @@ If you have time, learn more programming languages, starting with some that are
|
|||||||
|
|
||||||
## Topic-specific materials
|
## Topic-specific materials
|
||||||
|
|
||||||
#### Architecture and design patterns
|
|
||||||
|
|
||||||
Introduction:
|
|
||||||
|
|
||||||
- Learn about DDD (domain driven design), SOLID, MVC.
|
|
||||||
|
|
||||||
Advanced:
|
|
||||||
|
|
||||||
- Wander in the [Software Architecture Guide](https://martinfowler.com/architecture/)
|
|
||||||
- 🎞 [On the Spectrum of Abstraction](https://www.youtube.com/watch?v=mVVNJKv9esE&ab_channel=ReactEurope)
|
|
||||||
- 🎞 [Simple Made Easy](https://www.infoq.com/presentations/Simple-Made-Easy/)
|
|
||||||
- 🎞 [Zebras All the Way Down](https://youtu.be/fE2KDzZaxvE), Bryan Cantrill
|
|
||||||
|
|
||||||
#### Best practices, attitude
|
#### Best practices, attitude
|
||||||
|
|
||||||
Read one of those:
|
Read one of those:
|
||||||
@ -151,6 +138,33 @@ Read one of those:
|
|||||||
|
|
||||||
Read the resources listed under [Must-read articles](https://github.com/charlax/professional-programming#must-read-articles).
|
Read the resources listed under [Must-read articles](https://github.com/charlax/professional-programming#must-read-articles).
|
||||||
|
|
||||||
|
#### Code architecture and design patterns
|
||||||
|
|
||||||
|
Introduction:
|
||||||
|
|
||||||
|
- Learn about OOP basics: inheritance, abstract/concrete, public/private
|
||||||
|
- Learn about DDD (domain driven design), SOLID, MVC, Clean Architecture
|
||||||
|
- [An introduction to software design patterns](https://www.coengoedegebure.com/introduction-to-software-design-patterns/). All those patterns are not useful in all languages, but they're applied in most software, so it's important to know about them.
|
||||||
|
- Builder
|
||||||
|
- Factory
|
||||||
|
- Singleton
|
||||||
|
- Adapter
|
||||||
|
- Facade
|
||||||
|
- Chain of Responsibility
|
||||||
|
- Command
|
||||||
|
- Observer
|
||||||
|
- State
|
||||||
|
- Strategy
|
||||||
|
- Visitor
|
||||||
|
- 🎞 [Design Patterns in Plain English](https://www.youtube.com/watch?v=NU_1StN5Tkk&ab_channel=ProgrammingwithMosh)
|
||||||
|
|
||||||
|
Advanced:
|
||||||
|
|
||||||
|
- Wander in the [Software Architecture Guide](https://martinfowler.com/architecture/)
|
||||||
|
- 🎞 [On the Spectrum of Abstraction](https://www.youtube.com/watch?v=mVVNJKv9esE&ab_channel=ReactEurope)
|
||||||
|
- 🎞 [Simple Made Easy](https://www.infoq.com/presentations/Simple-Made-Easy/)
|
||||||
|
- 🎞 [Zebras All the Way Down](https://youtu.be/fE2KDzZaxvE), Bryan Cantrill
|
||||||
|
|
||||||
#### DB and SQL
|
#### DB and SQL
|
||||||
|
|
||||||
Introduction:
|
Introduction:
|
||||||
@ -191,6 +205,7 @@ Advanced:
|
|||||||
|
|
||||||
- Consider reading 📖 [Designing Data-Intensive Applications](https://dataintensive.net/).
|
- Consider reading 📖 [Designing Data-Intensive Applications](https://dataintensive.net/).
|
||||||
- [The Log: What every software engineer should know about real-time data's unifying abstraction](https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying)
|
- [The Log: What every software engineer should know about real-time data's unifying abstraction](https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying)
|
||||||
|
- 🎞 [Mastering Chaos - A Netflix Guide to Microservices](https://www.youtube.com/watch?v=CZ3wIuvmHeM&ab_channel=InfoQ) (by Netflix)
|
||||||
|
|
||||||
Concepts to look into:
|
Concepts to look into:
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user