SOLID Design Patterns

Sign in to queue


In this episode, Robert is joined by Phil Japikse for a chat about design patterns. Software design patterns have been around long before the MVC Framework gained momentum. Phil starts with a review of Robert C. Martin's (Uncle Bob) SOLID macronym. After building the proper foundation,he reviews several design patterns, their C# implementation and when and how they should be used in modern software development.

Get the code samples here.



The Discussion

  • User profile image
    Andre Vianna

    This discussion/topic is extremely important. There is not enough time in this video to approach it with the proper depth.

    It is very nice that Channel 9 is opening some space for the principles and practices preached by Robert Martin.

    Code quality and being a better coder is in the very heart and soul of this channel, I think Channel 9 should dedicate more time to that subject. Good tools helps, but does not make you a good or better developer. Those principles do.

    Maybe start a series to discuss those topics, one by one, with the proper importance and depth.

  • User profile image

    @Andre Vianna: That is an excellent idea. Would love to hear more about what you think this series should be. You can reply here or email me. My alias is rogreen.


  • User profile image
    David Rimshnick

    Agree with Andre. Maybe a series where you develop a practical application from start to finish. Thanks!

  • User profile image

    @rogreen: Excellent idea. I will spread the series in our local community. There are tons of resources that talks about the principles in general, but I would love to see it as close as possible to C#, .NET (Core), ASP.NET MVC or UWP.

  • User profile image

    @rogreen, it could be very useful series. I like your idea to talk about refactoring next time. Keep going and thanks!

  • User profile image

    I agree with the others that a dedicated series on patterns and practices would be valuable especially one targeted at .NET (Core) and ASP.NET. I'm particularly fond of juxtaposing a kind of before and after that highlights how following a particular principle makes the code cleaner, clearer, more testable and ultimately easier to maintain.

    Too many sample applications are done in a way that would not be acceptable in normal practice, a comprehensive end to end example with refactorings as it progresses would make for an excellent resource for novices and students.

  • User profile image
    Chris R

    Yeah this stuff is brilliant. So good to see Uncle Bob's actually being given the proper respect he deserves.

  • User profile image

    Should start a series to discuss the topics like design patterns and refactoring technique (book from Martin Fowler)

  • User profile image

    Nice job, I found it very useful and pragmatic.

  • User profile image

    Nice episode ..

    @rogreen is the demo will be shared on GitHub?!!

  • User profile image

    Totally agree with Andre. It will be nice to have one by one episode with some app example. Thank you for this!

  • User profile image

    Robert and I are in discussions about more episodes. Thank you everyone for your kind words. The code for this presentation is on github in the repo.

  • User profile image

    Thanks @japikse

  • User profile image

    I gave this a shot with some videos. Please see below for a link to my humble attempts. I *really* like this idea and I hope to see it take off on Channel9 as your production quality is much higher than mine. ;)

    I can tell you from my experience that there are plenty of hungry developers out there that want to know more about the craftsmanship side of things. For example - the cookie cutter entity framework examples you find are great but it's something special when you mix EF with yield and an iterator pattern. Then you naturally find yourself thinking about how that might work when async/await is involved. Great conversation topics even for experienced developers.

    There's so much in .NET/C# that allows you to write really good code quickly that few people know how to take advantage of!

  • User profile image

    LOVE IT!

  • User profile image

    Excellent video. It could be expanded so more details are discussed. Overall very helpful as an inroduction or a refresher.

  • User profile image

    Very good topic and would love to see more like this on patterns and practices.  Thanks Phil

  • User profile image

    Terrific video. A lot of information covered for someone like me who is new to these concepts. Phil's explanations were good - I need to review parts of the video and look elsewhere for more detail, but I understand this was only a whistle-stop tour in the time available.

    Robert's questions were very valuable and often exactly what I was thinking - why do it this way rather than the "old" way. The questioning about a service class versus an interface was particularly intriguing and not sure we got an answer in the end why interface is better.

    Thanks to both Robert and Phil for this video. A followup video (with examples of refactoring old code as suggested) with more details and showing why these approaches are beneficial would be most welcome.

  • User profile image

    What has changed in c#6 that you don't need double lock in singleton implementation? 

Add Your 2 Cents