Referencia¶
Recorrido rápido por los tipos principales expuestos por el parser. Todos son dataclasses fáciles de inspeccionar.
Raíz: CML¶
domains: list[Domain]context_maps: list[ContextMap]stakeholders, stakeholder_groupsvalue_registers- Helpers:
get_domain,get_subdomain,get_context_map,get_context,get_aggregate,get_entity,get_use_case
Análisis de Requerimientos¶
UseCase¶
name,actor,interactionsbenefit,scope,level
UserStory¶
name,role,feature,benefit
Stakeholder¶
name,influence,interest,priority,impact,consequences
StakeholderGroup¶
name,stakeholders(lista deStakeholder)
ValueRegister¶
name,contextvalues(lista deValue)clusters(lista deValueCluster)
Value¶
name,is_core,demonstratorstakeholders(lista deStakeholder)
ValueCluster¶
name,core_value,demonstratorvalues(lista deValue)
DDD estratégico¶
Domain¶
name,visionsubdomains(listas de conveniencia:core,supporting,generic)
Subdomain¶
name,type(CORE_DOMAIN,SUPPORTING_DOMAIN,GENERIC_SUBDOMAIN)vision,entitiesimplementations: contextos que implementan este subdominio
ContextMap¶
name,type,statecontexts: list[Context]relationships: list[Relationship]get_context(name)
Context¶
name,type,vision,responsibilities,implementation_technology,knowledge_levelaggregates,services,modules,implements(subdominios)- Helpers:
get_aggregate,get_service,get_module,get_subdomain
Relationship¶
- Extremos:
left,right(Context) type(ver enumRelationshipType, p.ej.ACL,PL,Customer-Supplier)- Atributos:
roles,implementation_technology,downstream_rights,exposed_aggregates
DDD táctico¶
Aggregate¶
name,ownerentities,value_objects,domain_events,enums,services,command_events,data_transfer_objects- Helpers:
get_entity,get_value_object,get_enum,get_service
Entity¶
name,is_aggregate_root,attributes,operations,extends,is_abstract- Helpers:
get_attribute,get_operation
ValueObject¶
name,attributes,operations,extends,is_abstract
DomainEvent¶
name,attributes,operations,extends,persistent,is_abstract
Service¶
name,operations
Attribute¶
name,type- Flags:
is_reference,is_key visibility(si está),collection_type
Operation¶
name,return_typeparameters: list[Parameter]visibility,throws,is_abstract
Parameter¶
name,type,is_reference
Enum¶
name,values,is_aggregate_lifecycle
Extensiones de capa de aplicación¶
Application:commands,flows,coordinations,servicesCommandEvent,DataTransferObjectModule:name,aggregates,services,domain_objectsFlowyFlowStep: soportan flujos simples de comando/evento.Coordination:name,steps(lista de cadenas de coordinación).
Para ejemplos concretos en contexto, mira test_full_coverage.cml y test_tactical_ddd.py.