Лучшие практики для поддержки белой маркировки в приложении C# winforms
Я разработал приложение, которое помогает пользователям лучше играть в игры казино, основываясь на статистических расчетах.
Это внешнее приложение, которое анализирует сеть, понимает определенные протоколы залов казино (некоторые веб-приложения, некоторые нативные приложения) и дает пользователю советы в реальном времени.
Недавно со мной связались различные операторы залов казино, которые хотят лицензировать у меня программное обеспечение, настроить набор графических элементов / строк / функций и передать его своим пользователям под своим брендом.
Поэтому у меня будет N разных установок для N разных казино, с разной графикой для каждого, разными строками, включенным разным набором функций и т. Д.
Каковы наилучшие методы для обработки таких требований в приложении C# winforms, если у меня есть разные файлы ресурсов для каждого поставщика? Есть ли что-то встроенное в.net Framework для обработки таких сценариев? Существуют ли сторонние программы, которые могут помочь мне в этом?
Пожалуйста, будьте максимально многословны, и спасибо заранее!
2 ответа
Если бы это было приложение asp.net, я бы предложил использовать темы. Они не так хорошо поддерживаются в приложениях форм, но в WPF есть хорошая поддержка тем. Проверьте http://wpfthemes.codeplex.com/
Это должно быть просто, потому что winforms довольно "линкорный серый", так что, как только вы снимаете все украшения, оно будет довольно простым и готовым начать собираться снова.
По существу:
- Удалите все и все ссылки в коде / формах на название продукта / компанию / клиента.
- Начните добавлять определенные элементы "брендинга" в виде изображений, текста и т. Д.
В частности:
- Убедитесь, что в коде нет ссылок на название продукта / компанию / клиента в пространствах имен и т. Д.
- Загрузите все строки из файлов ресурсов (в любом случае это поможет с локализацией).
- Если вам нужен какой-то "очевидный брендинг", загрузите файл изображения с диска или ресурсов и отобразите его в окне для картинок.
Затем вы можете создавать один и тот же код несколько раз, используя инструмент сборки, каждый раз конфигурируя сборку с различными ресурсами.