Principles of Software Design

7 years ago | Software Design Videos
You've heard the terms before: YAGNI, SOLID, Tell Don't ASK, DRY... what are they and what do they mean?

As you build applications using the patterns we learned in the previous videos, you begin to see some common side effects.

For instance: the Strategy, Adapter, Mediator and Bridge Patterns lead you to think a little bit more about better ways to manage dependencies between classes. You also begin to create rules and reasons why code should even exist in the first place.

Obviously, this is not a small topic. In this chapter we'll discover the key principles you should understand, who came up with them, and why. These concepts include Coupling, Cohesion, Tell Don't Ask, YAGNI, and SOLID.

The Code

You can find the code for each of the demos up on GitHub.

There's More...

The Subtle Arts of Logging and Testing

I'm a big fan of testing, but I get lazy sometimes and it ends up costing me money, directly.

Test-driven Development In Action

TDD is one of those things that people talk about, argue about, and think is interesting. I'm one of those people, so I asked Brad Wilson to clear it all up for me.

Meet Playwright

Curious about Playwright, the frontend testing framework? Well hang out for the next hour and I'll show it to you!