4 ms·
> Can someone explain why a monolithic Registry is a good idea, compared to something like macOS's .plists? Why monolithic may be good: because it's global and
by zvrba 7y ago
> Can someone explain why a monolithic Registry is a good idea, compared to something like macOS's .plists?
Why monolithic may be good: because it's global and baked into the system. An application doesn't have to search for its config files. Registry is always there. It's a database.
And it's better than INI or XML files because updates are transactional, and you can even have transactional updates over multiple keys. It also supports fine-grained access control. Manually implementing transactional updates in text files is a hassle and you can forget per-value ACLs... unless all of this is hidden behind a registry-like API.
- Razengan 7y agoWhat does being "global" mean here, and why is it good? macOS apps don't have to search for their config files either; support for them is baked into their system APIs as well. The macOS/iOS UserDefaults system is actually very nice, allowing multiple tiers/domains for precedence of settings. For example a specific setting may be optionally overridden for a single session via any app's launch arguments [0]. How do you achieve something like that with the Registry? The Registry architecture may make things easier for Microsoft, but the plist architecture seems to make things easier for users and developers. [0] https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/UserDefaults/AboutPreferenceDomains/AboutPreferenceDomains.html#//apple_ref/doc/uid/10000059i-CH2-96930 https://developer.apple.com/library/archive/documentation/Co...