In addition the Gang of Four material (already linked to in the previous comment), I also highly recommend Game Programming Patterns

Despite the name, everything in it is applicable to general development, and not just game development. The examples will be game-dev oriented, though (storing 3D data, modeling world object hierarchies, etc).

 
 

When you say "back-end design patterns" I assume you are referring to object oriented patterns like factory, builder, command, etc. If so, I personally liked "Head First Design Patterns." It is a really easy read with lots of pictures and explanations. Which worked well for me for getting a feel for the concepts of each pattern.

If you are looking for something more academic, then you probably want to take a look at Design Patterns: Elements of Reusable Object-Oriented Software (aka the Gang of Four book). It is the classic book on object oriented design patterns.

 

The exact same recommendation that I would have made :-).

Perhaps useful to note that Head First Design Patters, despite being substantially thicker than the GoF book, can be read through much more quickly, and much more of it should stick.

 

Martin Fowlers "Patterns of Enterprise Application Architecture" and Vaughn Vernons "Implementing Domain Driven Design".

 

There are two books that really improved my software development skills when working on the backend. I have to admit that they are in some kind related to a specific technology / language. But the patterns are applicable in other languages too.

  1. Node.js Design Patterns - Second Edition
  2. Dependency Injection in .NET 2nd Edition

The first one is one of the best Node.js resources i've seen. The second book is not finished yet (bought the early access version via Manning Shop) but gave me a deep understanding of not just DI itself but patterns like factory, abstract factory, decorators etc. Very recommended!

 
 

I would recommend this website: sourcemaking.com/. Not all resources are free, but I think they are worth the price.

Classic DEV Post from Feb 3

Why do you code?

I've been coding for almost 2yrs and I still kept asking myself the same questi...

Yohanan Baruchel
Team lead & senior fullstack developer @ Compie technologies

Thanks for visiting dev.to

A Beginner's Guide to dev.to