I am a software developer who mainly works with .NET & C#, but I carry interest in many languages.
I’m feeling a bit behind the curve with software design principles and patterns. I’m familiar with the most popular patterns, such as Inversion of Control and Object Relational Mapping, but I’ve learned of these ideas through books. I reckon the information must emanate from somewhere, and that somewhere must have a blog of some kind.
What are the best resources to help me stay ahead of (or on) the curve of software design?
Many thanks!
A very good list of design principles is in the SOLID principles.
Staying ahead in this area is not about new and shiny methodologies, but about paying attention to the principles of olde, like separation of concerns, coupling and cohesion. Also, test-driven development (or behavior-driven development) might help you achieve better designs through evolution… But you have to know what it looks like to get there!
That said, I find that a good series of articles is in the MSDN Magazine Patterns in Practice.