We have a classic wpf line of business software at work. Put in a lot of data, save it, calculate some things, put out some useful data etc.
Visually we have a dockable pane setup, like visual studio or any modern software.
So of the top of my head, to create a new pane where you have simple data entry for a couple of fields you have to:
Create the entity, create the model, create the viewmodel, create the repository, register everything in the DI container, register viewmodels in viewmodellocator, wire up our setup to join pane/window/viewmodel, create/handle the permissions in about 5 places, create the validator, configure automapper mappings, create the menu entries. I probably forgot some, not many though.
At this point, you have not actually written any code specific for your pane / your task.
Is this a bad sign? Im conflicted, on one hand it seems overkill and every time i do it for a small pane it feels really silly. 2 hours to create basically 4 text fields.
On the other hand, there kind of is a lot happening. I designed a new entity, im able to map between entity and model, i'm able to persist it, validate it, everything gets displayed appropriately, all the permissions are handled etc. Everything always works and looks the same which makes things really easy to develop and really easy on the eyes. And the wiring takes the same amount of time for a screen with 4 text fields and a screen with 50 fields and complex calculations...