Video: 15 Intermittent Fasting Mistakes That Make You Gain Weight 2025
Wenn Sie den Standardprozess und die Regeln des objektorientierten (OO) Designs für die iOS-App-Erstellung verwenden, sollten Ihre Designs robust sein. Aber selbst mit einem vernünftigen Prozess und entsprechenden Richtlinien könnten Sie ein Anti-Pattern erstellen. Antimuster treten auf, wenn eine Klasse die Funktionalität durch eine unangemessene Verbindung erbt.
Selbst wenn Sie ein erfahrener Entwickler sind, könnten Sie etwas falsch machen, was zu einem nicht funktionierenden Design führt. Im Folgenden werden spezifische Möglichkeiten zur Fehlerbehebung beschrieben.
Antimuster decken eine Reihe von Fallstricken von der Organisationsgestaltung über das Projektmanagement bis hin zur Programmierung ab. Hier einige Anti-Patterns, die für das OO-Design relevant sind:
-
Das sogenannte Base-Bean-Anti-Pattern: Hier erbt eine Klasse von einer anderen Klasse, weil die Superklasse Funktionen enthält, die in der Subklasse benötigt werden.
Angenommen, Sie implementieren eine Wörterbuchklasse, in der Sie die Bedeutungen von Wörtern nachschlagen können. Eine Hash-Tabelle, in der die Wörter gehasht werden, um ihre Bedeutungen zu lokalisieren, ist eine vernünftige Datenstruktur, die innerhalb eines Wörterbuchs verwendet werden kann.
Das Erstellen eines Wörterbuchs von einer Hashtabelle ist jedoch kein gutes Design. Ihr Wörterbuch endet mit Methoden in seiner Oberfläche, die keine Verbindung zu Wörtern und ihren Bedeutungen haben. Umgekehrt hat Ihre Klasse Methoden, die alles mit Wörterbüchern zu tun haben, aber nichts mit Hashtabellen zu tun haben.
Base Bean tritt normalerweise auf, wenn ein Softwareentwickler eine IS-A-Beziehung verwirrt, die geeignet ist, eine echte Unterklasse durch Vererbung darzustellen, mit einer HAS-A-Beziehung, die besser durch eine Containment-Beziehung bedient wird. Mit anderen Worten, ein Dictionary kann eine Hash-Tabelle haben, aber ist keine Hash-Tabelle.
Beachten Sie, dass der beschriebene OO-Entwurfsprozess es erfordert, dass Sie versuchen, für jede potenzielle Klasse eine kurze, klare Definition zu vereinbaren, bevor Sie sie zu einer Kandidatenklasse erheben. Dies hilft Ihnen, das Anti-Muster der Basis-Bean zu vermeiden.
-
Das Anemic-Domain-Modell: Einige Gruppen, insbesondere die Enterprise-Java-Community, betrachten Domain-Model-Klassen einfach als Getter und Setter für die Attribute in der Klasse, ohne Domänenverhalten in der Klasse (z. Validierungen, Berechnungen, Geschäftsregeln und dergleichen). Diese Art von Design ist im Gegensatz zu OO-Denken.