#c #architecture
Вопрос:
Я разрабатываю приложение на C и ImGui, которое каталогизирует мой инвентарь для моего онлайн-бизнеса. Таким образом, существует «серверная часть» — объект, который загружает и управляет продуктами из данного каталога, а также «интерфейс», который отвечает за вывод каждого продукта на экран и отвечает за графический интерфейс.
Мой интерфейс должен иметь возможность запрашивать данные у бэкенда (менеджера продукта) и редактировать метаданные продукта в результате взаимодействия пользователя с графическим интерфейсом.
Как бы вы подошли к этой проблеме / какие шаблоны проектирования вы бы использовали?
Вот о чем я думал до сих пор:
-У меня есть application
класс, который содержит экземпляр моего интерфейса и бэкенда.
-Внешний интерфейс не несет ответственности за управление сроком службы продуктов. Вместо этого он отправляет инструкции на серверную часть через application
объект (который передает запросы на серверную часть). Серверная часть отправляет свой вердикт через application
интерфейс.
-Внешний интерфейс должен быть буферизован из внутреннего интерфейса — внешний интерфейс не должен содержать ссылок на объекты продукта, хранящиеся в внутреннем интерфейсе. В противном случае другой процесс может удалить продукт, и интерфейс останется с висящей ссылкой. Поэтому в каждом запросе делайте копию продукта и применяйте изменения локально.
Комментарии:
1. Если у вас есть онлайн-бизнес, то C кажется странным выбором. Если вам нужны идеи для хороших архитектурных шаблонов для веб-приложений / веб-сайтов, то есть гора хороших материалов… они просто не будут ориентированы на C .