2010-07-29 26 views
6

Genau wie es eine Benennungskonvention für das Observer-Muster (oder vielmehr eine Benennungskonvention für Ereignisse in Sprachen wie C#) gibt, die Event/Handler verwendet und EventArgs und ähnliches übergibt, gibt es Benennungskonventionen, mit denen Sie andere Muster leicht hervorheben können dein Code?Namenskonvention für gängige Muster?

edit: Ich wollte ursprünglich nach dem Strategie-Muster fragen, dachte mir aber, dass es hilfreich wäre, etwas über andere Konventionen zu wissen, die für gängige Muster existieren könnten.

Antwort

6

Normalerweise lasse ich das Postfix der Klasse bestimmen, wenn es einige der Ideen eines Musters verwendet - dh. Alle meine ViewModels enden in ViewModel ... Meine Views enden in View und so weiter. Es ist wirklich nett für die Muster, die Sie die ganze Zeit verwenden (Factory, ViewModel, Strategie Frühling in den Sinn). Einige sind intrinsischer (ich muss noch eine Klasse MonoState nennen) - ich denke, es hat mit der Hauptantwortbarkeit der Klasse zu tun - oder dass ich sie nicht nach einem Implementierungsdetail benenne (Monostate ist ein Implementierungsdetail in meinem Buch). Wenn das, was es tut, zu dem Muster passt, emuliert/umfasst es - Es erhält ein Postfix mit dem Namen des Musters.

Wenn nichts anderes, hilft es Lesern meiner Klassen, einige der Gründe in der Implementierung herauszufinden, mit mir keine Kommentare zu schreiben. Ich versuche, den allgemeinen Namen (keine C# -spezifischen Namen) zu verwenden, wenn ich kann - obwohl ViewModels etwas spezialisiert auf die WPF-Welt sind.

Ich habe viele IPricingStrategy, ICustomerViewModel und so weiter über meine Code-Basis.

Hoffe, dass macht so viel Sinn wie es mir beim Schreiben gemacht hat :-).

+1

Die Namenskonvention, für die ich mich für Strategie entschieden habe, war nicht viel anders - die Schnittstellen sind mit einem Suffix benannt, und die Methoden heißen normalerweise Run ... Strategy. Die Identifikatoren können ein wenig lang werden, aber ich bin froh zu hören, dass ich nicht zu weit weg bin. – bwerks