Lets talk a bit about Angular Component Design: We are going to present a very common component design, and a potential design issue that you might run into while applying it.
A really important aspect of Angular application development is application component design: How to combine different types of components together, when to use a component vs a directive, how and when to extract functionality from components into directives, etc.
Angular Components provide a lot of functionality that can be used and combined in many different ways. This allows us to adopt a large variety of application designs depending on the situation.
... read the whole story at blog.angular-university.io.