Nehmen wir an, Sie haben eine dreistufige Anwendung mit den Stufen UI, Dienste und Repository für eine einfache Anwendung, z. B. zum Speichern von Adressen.
Wenn AddressService eine Schnittstelle IAddressService hat, wo gehört diese Schnittstelle hin? Ich weiß, dass "im Adressdienst" eine offensichtliche Antwort zu sein scheint, aber wenn es im Adressdienst ist, scheint es den Sinn der Schnittstelle zu vereiteln, so dass jede beliebige Dienstbibliothek eingefügt werden kann, solange sie IAddressService implementiert.
(speziell dies ist in einem .net-Problemraum, aber es ist wahrscheinlich allgemeiner, so dass es Architektur getaggt ist)