Consolidated ASP Classic MVC framework from best components
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

2.6KB

Architecture Patterns

Date: 2026-03-11T11:59:39Z

Part: MVC-Starter

Primary Architecture Pattern

Server-rendered MVC monolith with a starter/framework hybrid structure: IIS and public/ handle request entry, core/ provides shared runtime and dispatch behavior, and app/ provides project-specific extensions.

Pattern Breakdown

  • End-to-end request path: IIS URL Rewrite sends requests to public/Default.asp, routes are registered there, the router resolves controller/action/params, core/mvc.asp validates and dispatches, and shared layout files wrap output when useLayout is enabled.
  • Routing pattern: Routes are declared centrally in public/Default.asp and resolved through the RouteKit router object.
  • Dispatch pattern: core/mvc.asp uses validation, controller whitelisting, and dynamic execution to resolve the current controller and action.
  • Application layering: core/ contains reusable framework/runtime behavior, while app/ contains project-specific controllers, views, models, and repositories.
  • Rendering pattern: Controllers orchestrate and include .asp view files; shared header/footer layout files provide common page chrome.
  • Data pattern: Data access is config-driven through public/web.config, with DAL libraries and generator-assisted repositories/POBOs supporting database interaction.
  • Operational tooling pattern: Schema and scaffolding workflows are handled by standalone VBScript tools under scripts/.

Architectural Implications

  • This codebase is optimized around a single IIS-hosted deployable unit rather than separable services.
  • Framework bootstrapping and request dispatch are centralized, so edits to public/ entry files or core/ runtime files have broad impact.
  • Dynamic dispatch is part of the framework design, which makes naming, registration, and validation rules part of the architecture contract.
  • Feature development typically extends existing seams in app/, db/, and scripts/ rather than introducing new application subsystems.
  • The architecture assumes server-side HTML rendering and config-driven runtime behavior rather than client-heavy SPA patterns.

Brownfield Notes

  • The most important architectural boundary is between the framework/runtime layer (core/) and the app extension layer (app/).
  • Controller activation is not automatic; routing, include registration, and whitelist registration are all part of the runtime contract.
  • Windows/IIS hosting is part of the architecture, not just deployment detail, because request flow and configuration depend on it.
  • Generator scripts are part of the implementation model, not just convenience tooling.

Powered by TurnKey Linux.