Back in 2010, Josh Smith proposed that design-time data could, and probably should, participate in the entire Service/Model-ViewModel-View pipeline. That, at least, is how I read it. The theory goes that the “entire system” does not need knowledge of “run-time” vs. “test-time” vs. “design-time”. That may be true in the intermediate layers, but it strikes me as very wrong to involve Model-to-ViewModel processing when all you’re looking for is sample data for design-time.
To me, a proper separation of concerns would say that if the designer (Blend or the Cider designer in Visual Studio) needs to invoke any application code in order to show the UI being designed, something is wrong. What if the data access layer or Model-to-ViewModel code is being worked on by another developer? What if there’s a bug? Does that mean that the UI work should be completely blocked? Clearly, that’s an ... [More]