Core Concepts¶
Bold for Delphi is built on several fundamental concepts that work together to provide a complete MDA framework.
Concept Map¶
flowchart TB
subgraph Model["Domain Model"]
UML[UML Classes]
CodeGen[Code Generator]
BusinessClasses[BusinessClasses.pas]
end
subgraph Runtime["Runtime"]
ObjectSpace[Object Space]
OCL[OCL Queries]
Subscriptions[Subscription System]
Logging[Logging System]
end
subgraph Data["Data Layer"]
Persistence[Persistence Layer]
DB[(Database)]
end
UML --> CodeGen
CodeGen --> BusinessClasses
BusinessClasses --> ObjectSpace
ObjectSpace --> OCL
ObjectSpace --> Subscriptions
ObjectSpace --> Persistence
Persistence --> DB
click ObjectSpace href "object-space/" "Object Space documentation"
click OCL href "ocl/" "OCL documentation"
click Subscriptions href "subscriptions/" "Subscriptions documentation"
click Logging href "logging/" "Logging documentation"
click Persistence href "persistence/" "Persistence documentation"
click DB href "persistence/" "Database persistence documentation"
Key Concepts¶
| Concept | Description | Learn More |
|---|---|---|
| Object Space | In-memory graph of all domain objects | Object Space |
| OCL | Query language for navigating and filtering objects | OCL Queries |
| Persistence | Automatic object-relational mapping | Persistence |
| Subscriptions | Observer pattern for reactive updates | Subscriptions |
| Logging | Flexible logging with multiple output options | Logging |
The Bold Workflow¶
- Design - Create UML model with classes, attributes, and associations
- Generate - Bold generates Delphi code from the model
- Develop - Write business logic using generated classes
- Run - Objects live in Object Space, persist to database
- React - UI automatically updates via subscriptions