Хотел узнать мнение людей о наилучшем способе организации структуры каталогов и проектов в проекте/решении для приложения C# winforms.
Большинство людей согласны с тем, что лучше всего разделить представление, бизнес-логику, объекты данных, интерфейсы, но хотели посмотреть, как разные люди справляются с этим. Кроме того, изолируйте сторонние зависимости в проектах реализации, а затем экспортируйте проекты, на которые ссылаются потребители.
Кроме того, с точки зрения структуры папок, что лучше вложенность:
Интерфейсы
---IFoo
---IData
Impl
---Foo
--- Данные
or
Product
---Interfaces/IPProduct
---Impl/Product
Foo
---Impl/Foo
---Interfaces/IFoo
Все пытаются добиться несвязанных зависимостей от абстракций и быстрой возможности изменения реализации.
Мысли? Лучшие практики?