| DatabaseParserFactory | The single place that knows which parsers exist. Everything a format implies - its name, how an entry starts, how its identifier reads, how it is parsed - lives in the parser itself, so supporting a new format means writing one class and adding one line below. |
| DatabaseReaderFactory | Class DatabaseReaderFactory |
| DatabaseRecorderFactory | Class DatabaseRecorderFactory |