Chapter 6. A Large-Scale JavaScript Application Architecture
Any experienced programmer works hard to make the code reusable and maintainable. Here we are guided by the principles of object-oriented programming, such as encapsulation, abstraction, inheritance, composition, and polymorphism. In addition to these fundamentals, we follow the five basic principles of object-oriented programming and design defined by Robert C. Martin and known under the acronym SOLID (https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)). When during code review we run into a violation of any of these principles, it's considered as a code smell and results in refactoring. At the core of the tasks that we solve every day in development, often lie the common problems that we meet again and again. In this chapter, we will cover the most common universal architectural solutions and concepts in JavaScript development:
- Design patterns in JavaScript
- Understanding concern separation in JavaScript...