Connecting Components by Routing Lines

Every component has its own snap points which are also known as the connectivity points of that component.

When the cursor is moved over the component, the snap point which is nearest to the cursor gets highlighted automatically. 
With every snap point there is a snap vector associated with it, Snap vector allows other components to get connected only in a particular direction.