Skip to main content

Layer Dependencies

Audience

Developers, QA engineers, support engineers, security engineers, solution architects, and implementation partners.

Reference Content

This page records source-verified technical behavior and boundaries for the workforce-scheduling capability.

Summary

The intended dependency direction is inward: adapters depend on application services; application services depend on domain types and ports; infrastructure implements ports. Because all layers compile in one project, namespace discipline rather than project-level compilation barriers enforces this shape.

Notable coupling

Application projections reference infrastructure audit and timeline entities, so the boundary is not fully clean. Concrete command/query services are resolved directly; no mediator abstraction was verified. Domain repositories expose queryables alongside purpose-built methods, allowing application queries to shape persistence reads.

Consequence

The architecture is practical for a single service but does not mechanically prevent application-to-infrastructure coupling or arbitrary query construction. Refactoring should preserve behavior before splitting projects or narrowing ports.

Source References

  • microservices/src/attendance-service/Application/Common/Abstractions.cs
  • microservices/src/attendance-service/Domain/Repositories.cs
  • microservices/src/attendance-service/Infrastructure/Persistence.cs
  • microservices/src/attendance-service/Api/AttendanceShiftPolicyEndpoints.cs

See Also

Keywords

  • Workforce scheduling
  • Shift policy
  • Attendance integration

Revision Information

  • Status: Draft
  • Last reviewed: 2026-07-20
  • Next review: 2026-10-20