Vor kurzem habe ich eine praktische Art und Weise angenommen, dass baumartige Struktur Mitglieder sich ihre übergeordneten Knoten sind zu machen:Instanz in get-Parameter-Methode erstellen? bekanntes Muster oder?
private metaCollection<metaPage> _servicePages;
/// <summary>
/// Registry of service pages used by this document
/// </summary>
[Category("metaDocument")]
[DisplayName("servicePages")]
[Description("Registry of service pages used by this document")]
public metaCollection<metaPage> servicePages
{
get
{
if (_servicePages == null) {
_servicePages = new metaCollection<metaPage>();
_servicePages.parent = this;
}
return _servicePages;
}
}
(das Konzept ist beispielsweise für die privaten Bereich Methode erhält innerhalb Eigenschaft erstellen)
Ich würde gerne wissen, ob dieses Muster einen allgemein bekannten Namen hat? und noch mehr: Gibt es bekannte Probleme/schlechte Auswirkungen auf solche Praktiken?
Danke!
Etwas relevant für Ihre Frage (beachten Sie den Teil über "faul Initialisierung"): https://softwareengineering.stackexchange.com/questions/82377/should-properties-have-side-effects – hatchet
Ich kann Ihre Aufregung fühlen, aber nein, dort ist kein allgemein bekannter Name dafür, noch ist es ein Muster, weil Sie sehen, a) es ist nicht weit verbreitet, b) nur Sie wissen darüber, und c) es ist eher trivial. –
Ich bin verwirrt mit Ihrer Vorstellung "nur Sie wissen darüber" - für mich scheint unmöglich, niemand konfrontiert Baum Konsistenz Problem und löste es so. Auf der anderen Seite, wenn es wahr ist, sagst du, dass niemand dieses/es-s nicht weit verbreitet benutzt - als ich noch mehr besorgt bin über mögliche Probleme, die später kommen könnten. – hardyVeles