All designs need structure to make them easy to develop and maintain. We all use abstraction in our designs regardless of if it being electronics, software, or mechanical. In this article we will look ...