The process of taking away or removing characteristics from something in order to reduce it to a set of essential characteristics
The idea behind abstraction is to hide complexity - we try to hide away all the complex details. For example, you may want to persist some type of data - that’s the high level view of what we want to be able to do. Whether we’re storing that in a text file, a database or what not, we shouldn’t really care, that’s someone else’s problem, that is an implementation detail - one less thing to worry about, all we know is that our data will be persisted somewhere. We don’t really care where or how.
Throughout the years, I have learned a lot from free online video’s, so, I thought I’d share some of the channels that I’m subscribed to on Youtube in the hope’s that someone finds them useful as much as I have.
I’ve recently been writing a lot of lazy functional code in
C#that allows for better re-usability and cleaner solution than it would have been if it had been written in an Object Oriented manner. This also helped in lower level code by focusing on steps to solve a problem rather than worrying about scoping and sequence of execution.