TypeScript is an object-oriented programming language and, as such, we can leverage decades of knowledge on object-oriented architecture. In this chapter, we explore some of the most useful object-oriented design patterns and learn how to apply them in an Angular way.
Angular is, by itself, an object-oriented framework and it forces you to do most of your development in certain ways. For example, you are required to have components, services, pipes, and so on. Forcing upon you these building blocks contributes to building good architecture. Very much like what the Zend framework does for PHP or Ruby on Rails for Ruby. Frameworks are here to make your life easier and speed up the development time.
While the Angular way of designing things is way above average, we can always do better. I do not claim that what I present in this chapter is the ultimate...