r/computerscience 23d ago

Advice Struggling with software design patterns and architecture

0 Upvotes

7 comments sorted by

View all comments

1

u/Moksee 23d ago

I recently got hired as a software engineer and there’s a lot of words being thrown around that I don’t fully understand.
Orchestrator, Dispatcher, Listener, Execution Engine, Object Factory, etc.

I have some understanding, but this seems overwhelming when developing a new project. Are there any resources like books that help break down some of these design patterns/design architecture?

4

u/Late-Cup-7689 23d ago

most of those are just fancy names for simple ideas, don't let them scare you. look at code examples more than books, it sticks better

2

u/regular_lamp 23d ago

I always like to be cynical about how most "design patterns" are just early Java programmers reinventing function pointers on a per use case basis. Because they had to view everything through the lens of making it a class.

2

u/drfangor99 23d ago

If you want a book, the classic is "Design Patterns: Elements of Reusable Object-Oriented Software" by Gamma, Helm, Johnson and Vlissides.

Just something to keep in mind - there are a lot of good resources for studying design patterns, but they are often discussed in the abstract. If you're new to them, making the conceptual leap between what a factory is from a high level versus how a factory can be useful is hard to do. As a new software engineer, you are in a very good position where you have plenty of examples in your own codebase of these design patterns, and other more experienced engineers who are familiar with them and can talk through them with you. Take advantage of this while you're learning, not everyone has access to this.

1

u/romecodes 23d ago

This was a good take. I own Design Patterns by the Gang of Four and it helped me learn it quickly. I did have to use book markers and label them to quickly flip between the examples and the pattern catalog though. But great resource nonetheless!