Dustin Boston

Application Architecture

This section contains a collection of common application architecture patterns. Each pattern is implemented in TypeScript with a concrete example of the concepts in practice.

Application Controller
The Application Controller pattern centralizes navigation logic by acting as an intermediary between UI and domain logic. It’s ideal for applications with complex screen flows like wizards.
Front Controller
The Front Controller pattern uses a single handler to process all website requests, decoding URLs and routing to appropriate commands. It pairs well with the Intercepting Filter pattern.
Intercepting Filter
The Intercepting Filter pattern processes requests and responses through a chain of filters before and after main application logic. It enables modular handling of cross-cutting concerns.
Model View Controller (MVC)
The Model View Controller (MVC) pattern separates applications into three components: models for data, views for UI, and controllers for logic. It uses design patterns to minimize coupling and improve maintainability.
Page Controller
The Page Controller pattern assigns a dedicated controller to each logical page on a website. Each controller handles request processing, model creation, and view selection for its specific page.
Template View
The Template View pattern renders content by embedding markers in static HTML templates that are replaced with data at runtime. This separates presentation from logic, allowing designers to work independently.
Transform View
The Transform View pattern builds HTML by applying transform functions to each input element in sequence. Unlike Template View, it focuses on transformations rather than final layout, promoting testability and separation of concerns.
Two-Step View
The Two-Step View pattern separates rendering into two stages: transforming domain data into a logical presentation structure, then rendering that structure to HTML. This separation improves flexibility and maintainability.

[End]