Share via


Klassen: Allgemeine Richtlinien und bewährte Methoden

 

Veröffentlicht: Juli 2016

Gilt für: System Center 2012 SP1 - Service Manager, System Center 2012 R2 Service Manager, System Center 2012 - Service Manager

Verwenden Sie beim Anpassen von Klassen im System Center 2012 – Service Manager Authoring Tool die folgenden Richtlinien und bewährten Methoden.

Benennungskonventionen für Typdefinitionen

Die Benennungskonvention für das Service Manager-Schemamodel basiert auf der Benennungskonvention für .NET-Namespaces.

Einfache Benennungskonventionen

Die einfache Benennungskonvention sieht wie folgt aus: CompanyName.TechnologyArea.ProductName.FunctionalityArea.Name. Dabei gilt Folgendes:

  • ProductName ist optional und wird verwendet, wenn die Definition unabhängig von einem bestimmten Produkt ist.

  • FunctionalityArea ist optional und wird verwendet, wenn die Definition auf unterschiedliche Bereiche angewendet werden kann.

  • Name gibt die Bedeutung der Klasse an, nicht die Vererbungshierarchie.

Beispiele: Microsoft.AD.Printer, Microsoft.Windows.Computer, System.Knowledge.Article, System.WorkItem.Incident und System.StarRating.Average.

Der Namespace „System“

Der Namespace System bezieht sich auf Definitionen, die unabhängig von Microsoft und Windows sind. Er gilt in der Regel für die Basisdefinitionen, von denen Windows- Unix-Anwendungen abhängig sind. Diese Basisdefinitionen müssen vom Unternehmen unabhängig sein.

Verwenden Sie folgende Richtlinien für das Präfix „System“:

  • System.Computer gibt einen Computertyp an und ist herstellerunabhängig.

  • Verwenden Sie das Präfix System, wenn Sie erwarten, dass andere Schemas oberhalb dieses Namespaces definieren.

  • Beachten Sie, dass Microsoft.Windows.Computer nicht mit System beginnt, obwohl die meisten Windows-Anwendungen (unabhängig vom definierenden Hersteller) von dieser Definition abhängig sind.

Bewährte Methoden zum Benennen von Klassen

Verwenden Sie die folgenden bewährten Methoden, wenn Sie Klassen benennen:

  • Erstellen Sie keine zwei getrennte Klassen (auch wenn sie sich in zwei verschiedenen Management Packs befinden), da ansonsten zwei identische Schlüsselwerte für unterschiedliche Objekte der beiden Klassen gespeichert werden.

  • Stellen Sie beim Erweitern einer Klasse immer sicher, dass die Namen der Klassenerweiterung unter Management Packs eindeutig sind. Verwenden Sie nach Möglichkeit aussagekräftige Namen für die Klassenerweiterungen.

  • Wenn Sie eine Klasse erweitern, definieren Sie keine Eigenschaften mit einer ID, die in dieser Klasse bereits verwendet wird.

  • Verwenden Sie in Namen von Eigenschaften einer benutzerdefinierten Klasse keine Punkte.

  • Wenn Sie beim Erstellen eines Cubes eine benutzerdefinierte benannte Berechnung verwenden, stellen Sie dem Namen der benannten Berechnung das Präfix „NC_“ voran. Dadurch wird das Risiko minimiert, dass der Name einer bereits vorhandenen Eigenschaft verwendet wird.

Erstellen Sie nicht zu viele Klassen

Wenn zu viele Klassen erstellt werden, entsteht eine unnötige Komplexität mit minimalem Wert. Es wird empfohlen, die gewünschten Ergebnisse mit einer möglichst geringen Anzahl von Klassen zu erzielen. Wenn eine Klasse nicht als Ziel eines Workflows oder zum Speichern von Daten verwendet wird, sollte sie im Gegensatz zu abstrakten Klassen wahrscheinlich nicht erstellt werden. Auch wenn zwei Klassen einander ähnlich sind, sollten Sie in Erwägung ziehen, nur eine Klasse und möglicherweise eine Eigenschaft zum Speichern unterschiedlicher Werte zu verwenden.

Verwenden Sie keine Eigenschaften, die zu häufig aktualisiert werden

Eigenschaftswerte sollten nach dem ersten Auffüllen nur selten geändert werden. Eine mögliche Ursache für häufige Änderungen eines Eigenschaftswerts ist ein benutzerdefinierter Connector oder eine andere Anpassung, mit der die Service Manager-Datenbank programmgesteuert aktualisiert wird. Diese Szenarien können dazu führen, dass Eigenschaftswerte zu häufig, etwa alle 10 bis 15 Minuten oder in noch kürzeren Abständen, für eine Vielzahl von Objekten aktualisiert werden.

Derart häufige Änderungen von Eigenschaftswerten können die Leistung der Workflows geringfügig beeinträchtigen und haben möglicherweise weitere Auswirkungen auf die Leistung. Ursache hierfür ist, dass das System diese Änderungen in der Vergangenheit nachverfolgt. Je nach geänderter Eigenschaft können diese Änderungen zudem dazu führen, dass erheblich mehr Daten verarbeitet und vom Data Warehouse gespeichert werden müssen.

Abstrakte Klassen können nicht erweitert werden

In System Center 2012 – Service Manager können abstrakte Klassen nicht erweitert werden. Sie haben folgende Möglichkeiten, wenn Sie eine abstrakte Klasse erweitern müssen:

  • Erstellen Sie eine neue Klasse mit den Eigenschaften, die Sie hinzufügen möchten, und erstellen Sie dann eine Beziehung zwischen der neuen Klasse und der abstrakten Klasse.

  • Erweitern Sie die entsprechenden konkreten Klassen, die von der abstrakten Klasse abgeleitet werden.

Einfache Suche nach Arbeitsaufgabenklassen verbessern

Wenn Sie eine benutzerdefinierte Klasse definieren, die von der Klasse System.WorkItem abgeleitet wird, sollten Sie die Eigenschaft DisplayName dieser Klasse in folgendem Format speichern: Arbeitsaufgabe.ID<LEERZEICHEN>Arbeitsaufgabe.Titel.

Auf diese Weise wird die einfache Suche verbessert. Mit der einfachen Suche wird nur nach der Eigenschaft DisplayName gesucht. Durch explizites Einbeziehen der Eigenschaftswerte Title und ID in den Eigenschaftswert DisplayName werden die Ergebnisse der einfachen Suche verbessert. Ursache hierfür ist, dass der Benutzer entweder nach einem Wort im Titel oder nach der ID suchen kann.

Siehe auch

Klassen: Anpassen und Erstellen