2016-08-08 60 views
1

Ich habe diesen Code:.NET vereinfacht komplexen generischen Typen

var dict = new Dictionary<string, Dictionary<char, ClassA>>(); 

Ich denke, es Code ist nicht so gut, und ich mag für Wörterbuch generischen Typen überall vereinfachen. So lese ich wie folgt aus:

class ClassB : Dictionary<char, ClassA> {} 

So habe ich jetzt:

var dict = new Dictionary<string, ClassB>(); 

Das ist viel mehr recht Code meiner Meinung nach.

Aber ich möchte wissen, ist das richtige Übung, um leere Klasse für diese Puprosen zu deklarieren?

+3

Wenn es die Lesbarkeit verbessert - es ist eine gute Übung. Außerdem erlaubt es eine Abstraktion, die auch gut ist. Stellen Sie sicher, dass Sie es richtig benennen. –

+0

@ PawełDyl Danke, können Sie Ihren Kommentar als Antwort auf das Schließen dieser Frage neu erstellen? – gek0n

+0

Für eine bessere Abstraktion und lose Kopplung könnten Sie sogar 'ClassB' in' Interface_B' ändern. –

Antwort

2

Wenn es die Lesbarkeit verbessert - es ist eine gute Übung. Außerdem ermöglicht es eine Abstraktion, die auch gut ist. Sie können in Zukunft einige Methoden zu ClassB hinzufügen, ohne den gesamten Code zu beschädigen. Stellen Sie sicher, nennen Sie es richtig. Es macht deutlich, für welches Wörterbuch/was ist.