Just launched! Get 30% off Rails Revisited Have a Look

Principles of Software Design

Buy or Subscribe

You can access this course in just a minute, and support my efforts to rid the world of crappy online courses!

Buy Standalone  Subscribe

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.