Welcome. This site supports keyboard navigation and screen readers.
Press ? at any time for keyboard shortcuts. Press [ to focus the sidebar, ] to focus the content.
High-contrast themes are available via the toolbar.
public class App : IHostedService {
private readonly ILogger _log;
private readonly IServiceProvider _sp;
public async Task StartAsync(CancellationToken ct)
{
var result = await _sp.GetRequiredService<IPipeline>()
.Map(ctx => ctx.Validate())
.Bind(ctx => ctx.Execute())
.Recover(err => Result.Fail(err));
_log.LogInformation("Pipeline: {Status}", result);
}
}
[AggregateRoot("Order")]
public partial class OrderAggregate
{
[Property] public string CustomerId { get; }
[Property] public OrderStatus Status { get; }
[Composition] public List<OrderLine> Lines { get; }
[Invariant]
public bool MustHaveLines() => Lines.Count > 0;
[DomainEvent]
public record OrderPlaced(string OrderId, DateTime At);
}
const render = async (md: string) => {
const { html, meta } = await marked.parse(md);
document.querySelector('#output').innerHTML = html;
await processMermaid(document.querySelector('#output'));
hljs.highlightAll();
};
<template>
<nav id="sidebar" role="navigation">
<div v-for="section in toc" :key="section.id">
<a :href="section.path">{{ section.title }}</a>
</div>
</nav>
</template>
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-gateway
spec:
replicas: 3
selector:
matchLabels:
app: gateway
template:
spec:
containers:
- name: api
image: registry.local/api:latest
ports:
- containerPort: 8080
[MetaConcept("Entity")]
public abstract class EntityConcept
{
[MetaProperty] public string Name { get; }
[MetaReference] public AggregateConcept Root { get; }
[MetaConstraint]
public bool NameNotEmpty() => !string.IsNullOrEmpty(Name);
}
module.exports = {
entry: './src/index.ts',
output: { path: path.resolve(__dirname, 'dist') },
resolve: { extensions: ['.ts', '.js'] },
module: {
rules: [{ test: /\.ts$/, use: 'ts-loader' }]
}
};
$ cat loading...
█
- Single Responsibility — each source generator, DSL, and library owns one concern
- Open/Closed — extension points and middleware pipelines; attributes declare intent, generators handle evolution
- Liskov Substitution — hand-written Fakes satisfy interface contracts identically to real implementations
- Interface Segregation as primary driver — 1-method interfaces as standard across the ecosystem
- Dependency Inversion via optional constructor parameters with defaults — no DI container required
- Domain-Driven Design — attribute-based, no base classes:
[AggregateRoot], [Entity], [ValueObject], [Command], [DomainEvent], [Invariant]
- CQRS — lightweight (interface-level separation, no event sourcing):
ICommandHandler<TCommand, TResult>, IQueryHandler<TQuery, TResult>, direct injection (no mediator)
- Result Pattern — composable
Result<T, TError> types replacing exceptions: Map, Bind, Recover, Tap, Ensure
- Builder Pattern — source-generated async construction with fluent API, validation, circular reference detection
- Finite State Machine — async-first, three-tier (Dynamic/Typed/Rich), guards, entry/exit/transition actions, hierarchical states with LCA, parallel regions, deferred events, timer transitions, 8-point listener interface, Mermaid/Graphviz export, source-generated, Result monad integration
- Meta-metamodeling (M3) — 5 self-describing primitives (
[MetaConcept], [MetaProperty], [MetaReference], [MetaConstraint], [MetaInherits]) forming the foundation for all DSLs
- Layers — M0→M1→M2→M3 metamodel, bounded context separation
- Pipes and Filters — design pipelines, middleware chains
- Microkernel — plugin architecture (Diem CMF extensibility)
- Reflection — M3 meta-metamodel (types describing types)
- Strategy — pluggable parsers (GNU, Cobra, argparse, custom)
- Factory — source generators produce typed instances at compile time
- Observer — domain events, SignalR notifications
- Visitor — Roslyn syntax tree walking
- Composite — requirement hierarchy, DOM trees
- Adapter — Anti-Corruption Layers translating between bounded contexts
- Proxy — BinaryWrapper typed proxies over raw CLI binaries
- Chain of Responsibility — middleware pipeline, design pipeline stages
- Decorator — typed specs on features
- Template Method — attribute-based DSLs (declare intent, generator handles implementation)