Bob Nystrom's Game Programming Patterns is an engaging, informative book about design patterns that are commonly used in games but are relevant to non-game software too. http://gameprogrammingpatterns.com/
Ask HN: How best to learn software design principles?
31–40 of 100 posts
Re: Ask HN: How best to learn software design principles?
#32http://cleancoders.com/ See them all. The best investment you can make into yourself.
Re: Ask HN: How best to learn software design principles?
#33http://www.amazon.com/Beginning-Java-Objects-Concepts-Editio...
http://www.amazon.com/Program-Development-Java-Specification...
Re: Ask HN: How best to learn software design principles?
#34Earlier quoted context omitted.
While I don't disagree that Bob Martin presents useful information in those videos, his presentation style is... bizarre to say the least. You'll find as you watch them that the signal-to-noise ratio drops with each episode. In the last few, there's about ten minutes of useful information mixed in with about 50 minutes of cosmology lessons, tours of his house and neighbourhood, and babble amongst his various alter eg…
I asked elsewhere but perhaps I asked the wrong person. Which episodes would recommend in particular for the highest bang-for-my-buck?
Re: Ask HN: How best to learn software design principles?
#35* The C++ Programming Language 3rd edition, Part IV of the book. * Large-Scale C++ Software Design * The Practice of Programming * Code Complete These are a good start but in the end it's experience. It takes a lot of practice to build a good intuition when making software design decisions.
Large Scale C++ Software Design is a real gem.
Re: Ask HN: How best to learn software design principles?
#36Re: Ask HN: How best to learn software design principles?
#37A wiki with some nice explanations of design principles.
Re: Ask HN: How best to learn software design principles?
#38http://www.aosabook.org/en/ "Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well—usually programs they wrote themselves—and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's su…
Re: Ask HN: How best to learn software design principles?
#39Learn a functional programming language. This has had the most impact on the way I think about systems by far. The biggest impact was realizing all of the time I've spent trying to master all of the OOP acronyms hasn't paid off. I've also realized that OOP might be meant for a type of programming that I don't do (video game logic? device drivers?), where as FP seems to fit great for Web applications that are just wra…
Would you say that FP itself (not the thought process it generates) would benefit me in mobile application devlopment. It's mostly gaining data and then setting it.
Re: Ask HN: How best to learn software design principles?
#40http://cleancoders.com/ See them all. The best investment you can make into yourself.
I hate to sound stingy but at $445 is there a cheaper alternative? Like a book, or maybe shorter series? What videos would prioritize over the others?
Then I'd move on to Domain Driven Design and probably Refactoring and Growing Object Oriented Software, Guided By Tests.
Those four will give a good start to what enterprise/OO people are expecting in design.