developer-delphi-architecture-and-design

Define modular architecture boundaries and interface contracts for Delphi/FPC projects.

Updated Jan 6, 2026
One-click install
npx skills add https://github.com/cslsoftwares/ParamentersORM --skill developer-delphi-architecture-and-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: developer-delphi-architecture-and-design
Source: https://github.com/cslsoftwares/ParamentersORM/tree/main/.cursor/skills/developer-delphi-architecture-and-design_V1.0.0
Command: npx skills add https://github.com/cslsoftwares/ParamentersORM --skill developer-delphi-architecture-and-design

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Architecture decisions for Delphi/FPC projects: defining module boundaries, contracts by interfaces, and DI/IoC patterns to reduce coupling and improve evolvability.

Core Features & Use Cases

  • Modular architecture boundaries (Main, Modules, Commons, Views).
  • Contracts defined by interfaces (I*).
  • Dependency injection via constructor and Factory New.
  • Fluent/Factory design patterns for object creation.
  • Strategy for schema evolution (up/down migrations) and migration planning.

Quick Start

Outline modular boundaries and interface contracts for a Delphi/FPC project and apply DI/IoC principles with constructor injection and a Factory New.

Frequently Asked Questions about developer-delphi-architecture-and-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I define modular architecture boundaries in a Delphi project?

Define modular architecture boundaries in Delphi by separating code into Main, Modules, Commons, and Views. This structure reduces coupling, enforces clear module contracts, and improves overall codebase evolvability.

What is the best way to implement dependency injection in Free Pascal?

Implement dependency injection in Free Pascal using constructor injection and Factory New. This enforces Inversion of Control (IoC), reduces tight coupling between modules, and improves application testability.

How do you handle schema evolution and versioned migrations in Delphi?

Handle schema evolution in Delphi by applying a clear strategy for versioned migrations. Plan up and down migrations to manage database changes across codebases without breaking existing module contracts.

When do I need interface contracts for Delphi and FPC applications?

You need interface contracts (I*) for Delphi and FPC applications when defining module boundaries to reduce coupling. Contracts enable DI/IoC patterns by ensuring modules interact through abstractions rather than concrete implementations.

Can I use Fluent and Factory design patterns for object creation in Pascal projects?

Yes, you can use Fluent and Factory design patterns for object creation in Pascal projects. They work with constructor injection to enforce DI/IoC, providing a clear strategy for object instantiation and schema migration.

Why does tight coupling between modules make Delphi codebases hard to maintain?

Tight coupling between modules makes Delphi codebases hard to maintain because changes ripple across the application. Defining interface contracts and applying DI/IoC via constructor injection isolates changes and improves evolvability.