Ich bin bisher der festen Überzeugung, dass ein Verletzen des LSP "worst practice" (im Gegensatz zu best practice) ist - das Desaster ist nur eine Frage der Zeit.
Nun habe ich aber gerade die Situation, dass mir keine Wahl bleibt, außer das LSP zu verletzen um ein noch viel Größeres Desaster abzuwenden.
Daher die Umfrage.
------
Zur konkreten Problemstellung:
Ich arbeite an einer Applikation, welche die GSA (Google Search Appliance) on Premise nutzt. In c.a. einem Jahr wird diese Hardware vermutlich sämtlichen Dienst verweigern. Wenn wir nicht auf einen anderen Dienst umsteigen und das tatsächlich eintritt, sind 500.000 Menschen massiv in ihrer Arbeit eingeschränkt.
Der fachliche Code ist auf Gedeih-und-Verderb mit der GSA verheiratet. Meine Aufgabe während der letzten Zeit war es nun, den Code zu refactoren, damit wir innerhalb von 1 - 2 Wochen (inkl. QA u.s.w) auf einen anderen Anbieter wechseln können, wenn uns danach ist. Das Problem ist aber, dass die möglichen Such-Server (bspw. Solr, ElasticSearch) für das Feature-Set, welches wir für die Anwendung benötigen, das LSP nicht erfüllen. Zwar nur subtil, aber dennoch. Die Unterschiede sind nicht per Code abbildbar.
Ich versuche aktuell diese Edge-Cases zu detektieren damit eine aussagekräftige Exception geworfen werden kann. Bspw "Die GSA unterstütz die Konstellation aus A, C und Y nicht. Siehe https://link.zur/dokumentation/der/gsa#12385125".
Glücklich bin ich damit aber nicht.
Nun habe ich aber gerade die Situation, dass mir keine Wahl bleibt, außer das LSP zu verletzen um ein noch viel Größeres Desaster abzuwenden.
Daher die Umfrage.
------
Zur konkreten Problemstellung:
Ich arbeite an einer Applikation, welche die GSA (Google Search Appliance) on Premise nutzt. In c.a. einem Jahr wird diese Hardware vermutlich sämtlichen Dienst verweigern. Wenn wir nicht auf einen anderen Dienst umsteigen und das tatsächlich eintritt, sind 500.000 Menschen massiv in ihrer Arbeit eingeschränkt.
Der fachliche Code ist auf Gedeih-und-Verderb mit der GSA verheiratet. Meine Aufgabe während der letzten Zeit war es nun, den Code zu refactoren, damit wir innerhalb von 1 - 2 Wochen (inkl. QA u.s.w) auf einen anderen Anbieter wechseln können, wenn uns danach ist. Das Problem ist aber, dass die möglichen Such-Server (bspw. Solr, ElasticSearch) für das Feature-Set, welches wir für die Anwendung benötigen, das LSP nicht erfüllen. Zwar nur subtil, aber dennoch. Die Unterschiede sind nicht per Code abbildbar.
Ich versuche aktuell diese Edge-Cases zu detektieren damit eine aussagekräftige Exception geworfen werden kann. Bspw "Die GSA unterstütz die Konstellation aus A, C und Y nicht. Siehe https://link.zur/dokumentation/der/gsa#12385125".
Glücklich bin ich damit aber nicht.