dotNet должна библиотека классов выставлять только интерфейс или реализацию тоже - PullRequest
0 голосов
/ 28 марта 2011

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

Я склонен иметь, например, IMailingThingie и MailingThingie в библиотеке классов, поскольку при добавлении ссылки на библиотеку оба разрешения.

Мне также кажется, что это уменьшает дублирование кода, но привело к некоторым скачкам (например, для учета ежедневных правил MailingThingie и правил Monthly MailingThingie)

Лучше ли представлять в интерфейсе библиотеки только интерфейс и кодировать реализации для каждого проекта отдельно?

Я использую C # dotNet, но, думаю, архитектурное решение на этом уровне не зависит от языка ...

SolutionRoot1
--ClassLibrary
----IMailing
----Mailing
--Project1
----Reference
--Project2
----Reference

или

SolutionRoot1
--ClassLibrary
----IMailing
--Project1
----Reference
----Mailing
--Project2
----Reference
----Mailing

1 Ответ

1 голос
/ 28 марта 2011

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

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

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