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.
You can find the code for each of the demos up on GitHub.
Learning Elixir changed me as a programmer, and learning functional concepts changed the way I think about writing software. How about you? Is functional proogramming a useful thing to learn?
I've been using Ghost for many years and recently I decided to see just how far I could push it.