Я думаю, что термин шаблон проектирования был ошибочно использован вашим интервьюером вместо термина идиома .
Основная проблема с вашим кодом (и может быть причиной отклонения) - обработка памяти с использованием классических идиом c ++:
StoryBoard
объекта Обратите внимание, что используются умные указатели это только один способ управления памятью. Вы также можете использовать другие идиомы:
Как только эта проблема решена, у вас есть незначительные проблемы:
StoryBoard
является владельцем памяти, вы не должны возвращать указатель, который звонящий мог случайно освободиться. Если я не ошибаюсь в интерпретации сказанного интервьюером, этот вопрос следует перенести codereview.stackexhange.com
Хорошо, я узнал меня.
canSaveXML = true;
CommandManager.InvalidateRequerySuggested();
был код во второстепенном рабочем.Не очень. Необходимо сказать диспетчеру окна вызывать CommandManager. InvalidateRequerySuggested ();