Layered architecture guarantees us the following:
- Code organization: Layered architecture helps us implement code in a way in which each code layer is implemented independently. Code is more readable; for example, if you want to look at how particular data is accessed from a database, you can straightaway look at the DAL and ignore the other layers.
- Ease of development: As code is implemented in different layers, we can organize our teams in a similar way, where one team is working on the presentation layer and another on the DAL.