New Lesson for Members: Abstraction & Composition

In software, abstraction is the process of simplifying code by finding similarities between different parts of the code and extracting shared logic into a named component (such as a function, module, etc…), thereby reducing the amount of code required.

The key to doing more with less code is a mastery of abstraction.

Abstraction is the act of simplification.

“Simplicity is about subtracting the obvious and adding the meaningful.” ~ John Maeda, “The Laws of Simplicity: Design, Technology, Business, Life”

The process of abstraction has two main components:

  • Generalization is the process of finding similarities (the obvious) in repeated patterns, and hiding the similarities behind an abstraction.
  • Specialization is the process of using the abstraction, supplying only what is different (the meaningful) for each use case.

In this lesson, we dive deeper and learn how abstraction can help us do a lot more with a lot less code.

Already a member? Watch the video now.

Not yet a member? Join us!

Leave a Reply

Your email address will not be published. Required fields are marked *