Sunny Makode
Это очень субъективная тема, и в разработке программного обеспечения нет правильного или неправильного пути. Как предлагают другие люди, Вы должны провести некоторый мозговой штурм по этой теме и получить ясность о том, какие проблемы будет решать ваше приложение, что оно предназначено делать, его целевая аудитория, ввод/вывод, ответственность за сторонние услуги и т. д.
Однако, в качестве закуски я бы сказал следующие вещи. Но отнеситесь к этому со всей серьезностью. Это очень субъективная тема.
Если ваше приложение будет разрабатываться как автономное приложение windows, то его можно рассматривать как монолитное приложение. В этом случае можно использовать многоуровневую архитектуру.
Создайте слои для вашего приложения следующим образом
1. Слой данных:- состоять данных операция CRUD
2. Бизнес-уровень : состоит из ваших классов домена/модели
3. IOC Layer или DI layer: если вы хотите реализовать инъекцию зависимостей
4. (Если требуется) Фасад/прокси-Уровень: чтобы получить доступ к базе данных или стороннему сервису, храните информацию на время в кэше
5. Обслуживание слоя: для внутреннего служебные данные, которые можно использовать
6. Проект модульного теста
7. Основной Проект:
Представления, ViewModels, HelperClasses и т. д
Однако все зависит от того, какое приложение вы собираетесь создать.
Вы можете найти много информации в интернете в отношении требований.