Approximations

https://youtu.be/6V1sr0XV_Ng?si=j-YREBb9wSQ2tGwM

It is a fancy way of saying, taking something that’s really complex and sort of taking a step back and packaging it up in a way that’s simpler and that form the top down you can just understand.

I don’t need to care how something is implemented as long as I can now function on a higher level.

It is kind of hard to operate without it. If you can’t take for granted what something is but instead have to consider lower level how to make it, you realise a challenge.

Life is hard without abstractions.

Saying draw a cube vs saying it from the ground up. Having higher level of abstractions make your life easy.

With abstraction, I can operate on higher levels.

Abstract concepts


In OOPs:

  • Hiding most of properties and methods as private and only exposing minial to the outside.
  • Benefits:
    • Simpler interface
      • Using and understanding objects with few props is easier than those with many props.
    • Reduce the impact of change
      • You can refactor without much impact to the whole code.