Frage

  

Mögliche Duplizieren:
   Relational UML-Diagramm von SO inspiriert

Ich habe meine Hausaufgaben von die Post entwickelt.

Problem:. Beiträge in ähnlicher Weise zu tun, wie in SO, so dass der erste Beitrag ist die Frage und die anderen Beiträge Antworten nach der Frage sind

Frage: Wie würden Sie die Schnittstellen verbessern? Würde einige einfachere Datenstruktur die Dinge einfacher?

War es hilfreich?

Lösung

Ihre erste Frage verwirrt mich. UML lässt mich denken, von Objekten und „Beiträge-Tabelle“ macht mich von relationalen Datenbanken denken. Welches meinst du? Ich gehe davon aus, dass Sie Objekte wollen.

Sie müssen eine Schnittstelle oder Abstraktion, die beide Fragen und Antworten darstellt - vielleicht, dass die Post-Schnittstelle ist. Es wird hat Attribute wie Text und Autor und einen Zeitstempel, wenn es geschrieben wurde.

Da die Frage nie eine Antwort kommen, wenn Sie eine Sammlung der Post Instanzen haben, werde es in der richtigen Reihenfolge, wenn Sie sortieren sie durch Zeitstempel.

UPDATE: bedeutet UML objektorientierte Programmierung. Python ist sowohl eine objektorientierte und eine funktionale Sprache. Das heißt also, werden Sie über das Problem in Bezug auf die Objekte zuerst denken.

Das Denken in Bezug auf Objekte Mittel beiseite Bedenken über Benutzeroberfläche und Datenbank einstellen. Sie entwerfen die Objekte, die Art von Verhalten, die Sie benötigen. Sie können zunächst einen einfachen Text-Schnittstelle, und Objektserialisierung für Ausdauer tun. Aber die Objekte richtig macht zuerst.

Wenn Sie „Schnittstelle“ sagen, denke ich an Java-Schnittstellen. Sie erklären die Signatur der Klasse, aber sagen nichts über die Umsetzung. Also Ihr Beitrag Schnittstelle könnten Frage und Antwort-Implementierungen haben.

Was enthält alle Instanzen Post? Was besitzt sie? Ich würde ein anderes Objekt namens KnowledgeExchange die Sammlung von Beiträgen zu besitzen. Lassen Sie es verstecken, alle Details der Implementierung und bieten Methoden getQuestion und getAnswers. Zwingen Sie nicht Ihre Kunden all diese Details zu müssen wissen, oder sogar, ob Sie es als einen Stapel oder eine Liste implementieren.

sagte, wie ich, keine Sorge über Tabellen oder Ausdauer nur noch. Denken Sie über Objekte. Beste das ganze Problem in Bezug auf Objekte zu machen, anstatt nur Post, Frage und Antwort.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top