Skip to content

Bold for Delphi

Bold for Delphi is a Model-Driven Architecture (MDA) framework and Object-Relational Mapping (ORM) tool for Delphi. It enables UML-based model development with OCL (Object Constraint Language) queries, automatic code generation, and sophisticated database persistence.

Key Features

  • UML Model Editor - Design your domain model visually
  • Code Generation - Automatically generate Delphi classes from UML models
  • Object Space - In-memory object graph with full lifecycle management
  • OCL Queries - Powerful query language for filtering and navigating objects
  • Database Persistence - Transparent object-relational mapping
  • Subscription System - Automatic UI updates when objects change

Architecture Overview

flowchart TB
    subgraph UI["User Interface"]
        VCL[VCL Controls]
        Handles[Bold Handles]
    end

    subgraph ObjectSpace["Object Space"]
        System[TBoldSystem]
        Objects[TBoldObject instances]
        OCL[OCL Evaluator]
    end

    subgraph Persistence["Persistence Layer"]
        PMapper[Object-Relational Mapper]
        DB[(Database)]
    end

    VCL --> Handles
    Handles --> System
    System --> Objects
    System --> OCL
    Objects --> PMapper
    PMapper --> DB

    click Handles href "classes/TBoldSystemHandle/" "Bold Handle classes"
    click System href "classes/TBoldSystem/" "TBoldSystem documentation"
    click Objects href "classes/TBoldObject/" "TBoldObject documentation"
    click OCL href "concepts/ocl/" "OCL documentation"
    click PMapper href "concepts/persistence/" "Persistence documentation"
    click DB href "concepts/persistence/" "Database persistence documentation"

Quick Start

// Get all customers with orders over $1000
var
  Customers: TBoldObjectList;
begin
  Customers := BoldSystem.EvaluateExpressionAsNewElement(
    'Customer.allInstances->select(orders->exists(total > 1000))',
    nil
  ) as TBoldObjectList;
end;

Version

Current Version: 26.01.0 (community-maintained)

Supported Delphi Versions: 11.3, 12.1, 12.3, 13

Resources