As with any Framework, there are many ways to get things done. Often though choices we make in the design of our applications leave them difficult to maintain, test and extend. This book should serve as some design choices to consider when creating an Angular application.
The patterns suggested come from personal experiance, often from making the wrong design first and painfully refactoring later.