Я хотел прокомментировать поддержку комментария Трэвиса Г., но мне не хватило места - отсюда и этот «ответ».
Вы хотите быть осторожным, как вы строите свою систему относительно зависимостей; имейте в виду, как многократного использования вы хотите, чтобы все было. Если DocHelper ссылается на модель, то в любое время, когда вы захотите повторно использовать Dochelper (скажем, в другом приложении), вам также придется использовать модель.
Два возможных подхода:
Вещи, которые являются "общими" в контексте модели, находятся в сборке модели.
MyApp.Model // including Model Helpers
MyApp.Common // contains generic helpers
С точки зрения ссылок, Model
может ссылаться на Common
- но не наоборот.
Вещи, которые являются «общими» в контексте модели, находятся в отдельной сборке - и эта сборка является выделенным «помощником» модели; вещи, которые действительно являются общими, должны быть в отдельной сборке, например:
MyApp.Model
MyApp.ModelHelper // Model helpers are kept separate
MyApp.Common // contains generic helpers
В этом случае Model
будет ссылаться на ModelHelper
, а Model
и / или ModelHelper
может ссылаться на Common
.