Я собираюсь написать инструмент конфигурирования для моей системы на основе Ubuntu. Далее я хотел бы написать веб-интерфейсы (текст, графический интерфейс и веб-интерфейс). Но это самый сложный проект, который я хотел написать, и я не уверен в общей архитектуре, которую мне следует использовать.
На данный момент у меня есть функции и классы для изменения конфигурации системы. Но эти функции, вероятно, будут расти и изменяться. @Abki дал мне совет, как написать интерфейс для веб-интерфейсов. Я собираюсь сделать базовые классы для этого интерфейса, но я не знаю, как связать его с бэкэндом, а затем с внешними интерфейсами. Возможно, мне следует использовать шаблоны дизайна, такие как fasade, wrapper или что-то еще.
Похоже (без слоя interface_to_backend):

Мне сейчас наплевать на интерфейс и функции для изменения конфигурации системы. Но я не знаю, как написать средний слой, поэтому было бы легко связать его с остальными и расширить функциональность в будущем.
Мне нужны общие идеи, шаблоны проектирования, советы, как реализовать это в Python.