We'd like to get some broader feedback on the following question:
We've organized the WPF project using the following folder structure to separate interfaces from implementations:
A) Have a separate Contracts folder at root level:
- Contracts
- Services
- ViewModels
- Views
- Converters
- Helpers
- Models
- Services
- Strings
- Styles
- ViewModels
- Views
Do you like the structure presented above or would you one of the following approaches?
B) Separate interface and implementation by adding a subfolder to the Services/ViewModels and Views folder. Resulting structure would be:
- Converters
- Helpers
- Models
- Services
- Contracts
- Strings
- Styles
- ViewModels
- Contracts
- Views
- Contracts
C) Have interface and implementation in the same folder. Resulting structure would be:
```
I like solution A) the most as it clearly seperates the interfaces from the implementations and bundles all interfaces in a central root location.
B) would be 2nd if A) wouldn't be acceptable.
C) is messy IMHO.
i'd prefer solution A) in a huge WPF Project, but even C) is acceptable if it's tiny app. I use C) a lot.
Most helpful comment
I like solution A) the most as it clearly seperates the interfaces from the implementations and bundles all interfaces in a central root location.
B) would be 2nd if A) wouldn't be acceptable.
C) is messy IMHO.