Abstract Data Type

Problem solving is one of the core requirements of becoming a great Software developer, and it is very easy to get overwhelmed in the process of analyzing a problem, its solution and the process to get things to work.

That's where ADT come in. Abstract Data Type is a logical description of how to develop a solution(algorithm) without looking at the details of its implementation.

For example when you pick your phone to access a website to get a resource all you are concerned about at that moment is your phone being able to access the site and give you the information you need.

Meanwhile for you to get what you need their are several background process that needs to be completed before you can access it. All the TCP/IP connections, The 5 handshakes that needs to happen for you to be connected before you can access the resource.

Abstract Data Types can help you as a developer to get a high level overview of the problem and the process needed without getting lost in the process of figuring your way out.

By providing Abstraction to your problem solving process, you are creating Encapsulation around the data type and this process is usually referred to as Information Hiding.

image.png

Allow the user interact with the interface while you mask out the underlying processses.

The implementation of Abstract Data Type is what is usually referred to as Data Strucure. Which will require you to represent this data views physically by using programming constructs and primitive data types. Over the course of the next series, I am going to drop more explanation on Data Structures.

Drop a comment if you want it ASAP.