[SERVER-48752] Document Server-Internal Decoration Library Created: 11/Jun/20 Updated: 06/Dec/22 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Benjamin Caimano (Inactive) | Assignee: | Backlog - Service Architecture |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | sa-remove-fv-backlog-22 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Service Arch
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Participants: | |||||||||
| Description |
|
We have a special decoration library that allows for dependency inversion for components. It lives in src/mongo/util. Notable classes include:
Decorations are occasionally surprising, it's important that we make it clear how and when these objects are allocated, constructed, destructed, and deallocated. Since decorations are mostly used in conjunction with context objects, we can document them as a single section in src/mongo/util/README.md. This is intended to be abstract documentation, describe relationships and state transitions not code in common language. |