Aufgrund komplexer Anfragen von Kunden wird mein Code manchmal unordentlich. Ich nehme mir Zeit, um zu lesen und zu verstehen, was ich vorher geschrieben habe, seit ich das letzte Mal an einem Plugin gearbeitet habe.
Ich habe mich gefragt, ob jemand ein gutes Designmuster implementiert hat, das viel Zeit spart und den Code organisierter und lesbarer macht.
Ein Basis-Plugin, das IPlugin implementiert, ist ein guter Schritt in die richtige Richtung. Seine Execute-Funktion könnte sowohl in IServiceProvider als auch in dataContext oder OrganizationService in eine abstrakte onExecute-Methode übergeben werden, die in einen try catch mit einer virtuellen Error-Handler-Methode eingebettet ist. Dies würde eine Menge repetitiven Boilerplate-Code beseitigen ...
Zusätzliches Codebeispiel mit einem abstrakten OnExecute und einem virtuellen Fehlerhandler:
%Vor%Ich habe eine Plugin-Basis, die in DLaB.Xrm (auf Nuget) im DLaB.Xrm.Plugin-Namespace definiert ist und viele tolle Dinge für Sie erledigt. Hier ist eine Beispiel-Plug-in-Klasse, die Ihnen zeigt, wie Sie es verwenden können.
Ich arbeite basierend auf 2 Klassen:
Der erste namens PluginContext
:
Der zweite namens PluginBase
:
Die Plugin-Klasse wäre wie folgt:
%Vor%Ich weiß, ich vielleicht spät, aber ...
es gibt mehrere Plugin-Vorlagen für Visual Studio da draußen, und diese Beispiele geben Ihnen die Idee, was das Beste ist.
Einer meiner Favoriten ist: Ссылка
Wie auch immer, du musst wissen, dass sich dein logisches Design verbessern und verbessern wird, alles was du brauchst, ist Übung.
Reggards!
Tags und Links c# dynamics-crm-2011