Introduction to Bold for Delphi¶
Bold for Delphi is a powerful framework that implements Model-Driven Architecture (MDA) principles. It allows you to design your application's domain model in UML and automatically generates the corresponding Delphi code.
What is Model-Driven Architecture?¶
MDA separates business logic from platform-specific implementation details:
- Platform-Independent Model (PIM) - Your UML domain model
- Platform-Specific Model (PSM) - Generated Delphi code
- Runtime - Object Space with persistence
Core Components¶
Object Space¶
The Object Space is Bold's in-memory object graph. All domain objects live here during runtime.
graph LR
A[TBoldSystem] --> B[Class Extents]
B --> C[TBoldObject instances]
C --> D[TBoldAttribute values]
C --> E[TBoldObjectReference links]
click A href "../classes/TBoldSystem/" "TBoldSystem documentation"
click C href "../classes/TBoldObject/" "TBoldObject documentation"
click D href "../classes/TBoldAttribute/" "TBoldAttribute documentation"
click E href "../classes/TBoldObjectReference/" "TBoldObjectReference documentation"
Persistence Layer¶
Bold automatically maps your objects to database tables:
| UML Concept | Database Mapping |
|---|---|
| Class | Table |
| Attribute | Column |
| Association | Foreign Key / Link Table |
| Inheritance | Type Column + Subtype Tables |
Subscription System¶
Bold uses an observer pattern for automatic updates:
- Objects notify subscribers when they change
- UI controls automatically refresh
- Derived values recalculate automatically
Next Steps¶
- Installation - Set up Bold in your Delphi IDE
- First Application - Build your first Bold application