https://www.youtube.com/watch?v=aWZFRk-w3ng
Abstraction isn't anything new for Architects .
As Architect we use models. and models are not realities.
They are models, they're meant to be abstractions.
So they omit a lot of detail and sometimes they add other things which actually don't exist in reality.
Thre is not one best model, there isn't like the perfect abstraction the perfect model,
but it depends on what question you're trying to answer.
All depends on what you're trying to do.
Models don't stand on their own, models are there to help you make better decisions,
So if you make or pick a model you should have a question in mind.
You should have a problem that you need to solve or a question that you need to answer
So much for abstraction obviously a key part of our repertoire.
From Buzzworthy thing at the beginning to reduce the cognitive load.
The question is can we abstract things away, can we actually reduce the cognitive load.
So the idea is can't i reuse all the stuff underneath and put something else on top and I can make many models of a car without having to sort of rebuild all the stuff underneath and hopefully also reduce the complexity of the whole thing along the way.
When we say abstraction we often actually do composition and composition isn't a really good abstraction.
Wheather an abstraction is actually a candidate, let's say at least for something that abstracts this it needs to bring a different vocabulary.
In abstraction, we can make better decision without thinking specific details.
We should think about what is that domain, what is that vocabulary, what is the language to exrpress that. That is very much connected to the notion of finding abstractions.
Because absractions should bring in a new vocabulary well where does that vocabulary come from and in the case of platforms that comes from this technical domain that we should much more precise about how we describe that.
Having this abstraction, Having this middle layer, Having this vocabulary sheilds a lot of the complexity underneath so it's really useful to get you think mor e easily about it reduce the cognitive load but it doesn't assume that on the top is just a tiny tip on top you can have a lot of flexibility.
There are two ways of getting it.
One is hiding the complexity the other one is exposing some of the complexity but making it easy to deal with the complexity.
Let's not hide this. let's make it easy to deal with