Как следовать принципам SOLID и не нарушать никаких правил в моем приложении? - PullRequest
0 голосов
/ 26 октября 2019

Итак, позвольте мне сначала объяснить, как устроено мое приложение, у меня есть много проектов, которые все делают по-своему, если проекту нужен файл из другого проекта, то он ссылается на этот проект, но главное, что вы не можетессылочные проекты в обоих направлениях.

    Project.Interfaces (Hold interfaces, referenced in most projects)
    Project.Something
    Project.SomethingElse
    Project.Shared (Usually just utilities and helpers)

Теперь я достиг стадии в моем приложении, где мне нужно использовать enum. Я подумал, что классно позволяет разместить перечисление в Project.SomethingElse там, где оно больше всего связано - мне нужно мое перечисление в .Interfaces, чтобы я мог ссылаться на него для интерфейса, который использует конкретный тип .SomethingElse. Я не могу сослаться на этих двоих вместе. Так что я должен делать?

Я попытался разместить его в Project.Shared, что имело смысл, когда я пытался, но .Shared нужно .Interfaces - причина в том, что яне ссылаясь на конкретные типы в .Shared.

Я знаю, что здесь возникает большой вопрос, почему я нигде не ссылаюсь на конкретные типы, и это потому, что я хочу сделать свое приложение как можно более абстрактным.

Мое решение состояло в том, чтобы сделать еще один проект под названием Project.Enums и просто сохранить там все перечисления, и это сработало, потому что перечислениям не нужно ничего, кроме самих себя.

Но я также былрекомендуется, чтобы проект .Interfaces владел перечислением, но разве это не нарушает какое-то правило SRP? Я просто ищу руководство о том, как правильно справиться с этим, не нарушая никаких правил. Я обдумываю это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...