robsonrung/rar-skills

domain-driven-design

Review domain boundaries, business language, aggregates, and domain events.

查看源码
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

Domain-Driven Design

Review the domain shape of a change through the lenses from Learning Domain-Driven Design (Vlad Khononov, O'Reilly). DDD works at two altitudes that compose:

  • Strategic (Parts I, III–IV) — where the boundaries are: bounded contexts, ubiquitous language, and how contexts integrate.
  • Tactical (Parts II–III) — how one context is built: the business-logic pattern, and whether aggregates/value-objects hold their invariants and publish events safely.

This is not a generic layering/cohesion check or trade-off/connascence audit (use architecture-lens), not macro style selection or service decomposition (use macro-architecture), and not a bug hunt (use code-review).

Select the review

ChangeRead
Moves or crosses a bounded context, changes business naming, or integrates another systemreferences/strategic-review.md
Structures business logic, aggregates, value objects, or domain events inside one contextreferences/tactical-review.md
Does bothStrategic review first, then the affected tactical rules; boundaries constrain the internal design

Apply only the relevant lenses. Report findings with file and line, the rule, and a proposed fix. A clean lens needs no invented finding.

Deriving the context map: the physical bounded contexts are usually the backend services/modules, each owning a model and a slice of the ubiquitous language (e.g. a transactional core service, an integration/sync service, an event worker, a shared kernel of domain entities, the frontend's own API-layer model). Derive this map from the repo's service/module layout before reviewing. A subdomain is a problem area (pricing, dispatch, compliance); a bounded context is the solution boundary where one model/language holds — they often align but not always.

Evidence and output

The selected method contains its standalone output format. Lead with the highest-impact finding and distinguish evidence from an unresolved domain decision.

Under design-gate, remain read-only and return its contract: verdict: proceed|revise, blocking_findings, advisory_findings, and required_changes. Preserve actual invariants and integration boundaries; cosmetic preferences are advisory.

Detailed references

来自同一仓库

更多 Skills

全部 Skills