架构优化
This commit is contained in:
@@ -187,7 +187,7 @@ computed_property<Device, int>(depends_on<&Device::min_speed, &Device::max_speed
|
||||
|
||||
The computed value has no writable storage of its own. Dependencies are explicit Schema facts, and the computed view can read only declared direct dependencies. Read-only stored dependencies can be read directly because they cannot change through the managed path.
|
||||
|
||||
Writable dependencies that must form one snapshot should be placed in the same synchronization group with each other. The computed property's read slot is derived from its dependency graph and must not be configured directly in synchronization rules.
|
||||
Writable dependencies that must form one snapshot should be placed in the same synchronization group with each other. The computed property's read slot is derived from its dependency graph and must not be configured directly in synchronization rules. Dependency cycles are rejected when the Schema is formed. `depends_on<>` is a valid explicit zero-dependency declaration and produces an unsynchronized computed read.
|
||||
|
||||
## Managed access and raw access
|
||||
|
||||
@@ -212,9 +212,9 @@ The default synchronization topology is resolved once per type. Instances do not
|
||||
|
||||
`No_Lock_Policy` removes real mutex storage entirely.
|
||||
|
||||
## Unified Attribute model
|
||||
## Unified property metadata model
|
||||
|
||||
Core and extensions use one Attribute protocol.
|
||||
A property descriptor has one metadata store containing Attributes and Constraints. Core and extensions use one Attribute protocol for descriptive metadata, while Constraints keep their validation protocol.
|
||||
|
||||
```cpp
|
||||
struct Label_Category {};
|
||||
@@ -236,7 +236,7 @@ field<&Device::temperature>(
|
||||
)
|
||||
```
|
||||
|
||||
Core stores extension metadata but does not interpret extension-owned categories.
|
||||
Core stores extension metadata but does not interpret extension-owned categories. `for_each_metadata()` traverses all property metadata, `for_each_attribute()` traverses only Attributes, and `for_each_constraint()` traverses only Constraints.
|
||||
|
||||
## Validation is explicit
|
||||
|
||||
|
||||
Reference in New Issue
Block a user