Presentation Domain Data Layering
Layering a system into presentation (UI), domain logic, and data access. This layering is useful but should not used for the higher modules of larger systems.
Presentation Domain Data Layering 26 August 2015 Martin Fowler team organization database encapsulation application architecture web development One of the most common ways to modularize an information-rich program is to separate it into three broad layers: presentation (UI), domain logic (aka business logic), and data access. So you often see web applications divided into a web layer that knows about handling HTTP requests and rendering HTML, a business logic layer that contains validations and calculations, and a data access layer that sorts out how to manage persistent data in a database or
related reading
- Everything I know about good system designseangoedecke.com
- Clean Coder Blogblog.cleancoder.com
- How to write complex softwaregrantslatton.com
- Layered protocolssubconscious.substack.com
- Modularizing React Applications with Established UI Patternsmartinfowler.com
- Layered protocols - by Gordon Brander - Squishy Computersubconscious.substack.com
- Best Practice - An Introduction To Domain-Driven Design | Microsoft Learnlearn.microsoft.com
- Building data-centric apps with a reactive relational databaseriffle.systems
- Why You Should NOT Implement Layered Architectures – Java, SQL and jOOQ.blog.jooq.org
- Container/Presentational Patternpatterns.dev
- GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.github.com
- Software Architecture Guidemartinfowler.com