Ich habe Fälle erlebt, in denen es nützlich wäre, den Zugriff auf die API externer Bibliotheken und Frameworks einzuschränken, um negative Konsequenzen im System zu vermeiden.
In einer SharePoint-Anwendung kann es beispielsweise logisch erscheinen spList.Items.GetItemById
, ein Listenelement aufzurufen , auch wenn es sich um eine Schleife handelt, ohne zu wissen, dass dies zu erheblichen Leistungsproblemen führen kann.
Es kann auch sein, dass wir die Verwendung von SmtpClient verbieten müssen, um alle zu zwingen, unsere eigene Klasse zum Senden von E-Mails zu verwenden, um sicherzustellen, dass wir alle E-Mails in der Testumgebung ordnungsgemäß proxen und verspotten können.
Gibt es zuverlässige und einigermaßen einfache Möglichkeiten, diese Einschränkungen für externen Code zu erreichen, außer an bestimmten Stellen in unserem eigenen Code? Es ist nicht unbedingt erforderlich, den Zugriff auf diese Methoden / Klassen zu unterbinden, zum Beispiel durch Reflektion oder einfach durch Deaktivierung. Es sollte vielmehr eine strikte Warnung sein, dass sie nicht verwendet werden sollten. Erzwingen Sie vorzugsweise, dass der Programmierer aktiv Maßnahmen ergreift, um diese Einschränkungen zu umgehen, wenn dies möglich / erforderlich ist.