Communication between directives can be by means of many different interactions. The most common and easy to achieve is to use the common
$scope object. This is usually the first form of communication developers use when writing directives that communicate with each other.
When writing directives that communicate and use model objects, it is recommended to follow certain development ideologies related to code organization and declaration. The following are the two major related AngularJS ideologies that should always be implemented when writing directives, to create the most extendable and readable code base: