Пока на уровне идеи, но непонятно в реализации есть мысль в фабрике NodeContract в методе одним из параметров указывать NodeCreator (например _nodeCreator). И вызывать не создание NodeContract напрямую, а делать что-то типа _nodeCreator.makeContract*(NodeContract _qqq).
В этом случае, вызывающий код просто обязан будет использовать NodeContract. Но, на мой взгляд, тут получается достаточно большая взаимозависимость между классами контрактов данных и их создателями. Хотелось бы её избежать.
Опять же, при таком подходе хотелось бы сделать так, что NodeContract и NodeCreator знали друг о друге, а для внешнего кода был бы только один способ создания NodeContract - только через NodeCreator .
Последний раз редактировалось Raven Melancholic; 07.11.2015 в 15:23.
|