Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Entity Component System

The Entity Component System architecture pattern is mostly known in the world of game development. But the general ideas could be applied to all kind of software.

Sources of inspiration:

Enteties

Your domain models (with their associated domain logic).

If a domain model should interact with one or more systems, add components to it in the form of extension methods.

Systems (and their components)

  • HTTP with HTTPSession (a thin wrapper around URLSession).
    • Endpoint<Resource>.
  • Key-value store with Defaults (a thin wrapper around UserDefaults).
    • DefaultsEntry<Target> (and the DefaultsStored protocol).
  • Secure key-value store with SecureDefaults (a thin wrapper around Keychain services).
    • SecureDefaultsEntry<Target> (and the SecureDefaultsStored protocol).
  • Managed cryptographic keys with KeyVault (a thin wrapper around Keychain services).
    • KeyVaultEntry<Key> (and the KeyVaultManaged protocol).