Question

  

Possible en double:    UML relationnelle Schéma inspiré par SO

J'ai développé mes devoirs de poste.

Problème:. pour faire la même façon que les messages en SO de sorte que le premier poste est la question et les autres postes sont des réponses après la question

Question: Comment améliorer les interfaces? Est-ce que une structure de données plus simple faciliter les choses?

Était-ce utile?

La solution

Votre première question me trouble. UML me fait penser à des objets et « Messages table » me fait penser à des bases de données relationnelles. Lequel voulez-vous dire? Je suppose que vous voulez des objets.

Vous avez besoin d'une interface ou d'abstraction qui représente les deux questions et réponses - peut-être que l'interface est Post. Il aura des attributs tels que le texte et l'auteur et un horodatage quand il a été publié.

Étant donné que la question ne sera jamais soumise à une réponse, si vous avez une collection d'instances de poste, ce sera dans le bon ordre si vous triez par horodatage.

Mise à jour: UML signifie la programmation orientée objet. Python est à la fois un orienté objet et un langage fonctionnel. Donc, cela signifie que vous allez penser le problème en termes d'objets en premier.

Penser en termes d'objets signifie mettre de côté les préoccupations au sujet de l'interface utilisateur et base de données. Vous concevez les objets pour fournir le genre de comportement que vous avez besoin. Vous pouvez avoir une interface texte simple au début, et sérialisation fera pour la persistance. Mais obtenir les objets dès la première.

Quand vous dites "interface", je pense que des interfaces Java. Ils déclarent la signature de la classe, mais ne disent rien sur la mise en œuvre. Donc, votre interface post peut avoir des questions et réponses mises en œuvre.

Qu'est-ce que contient toutes les instances de poste? Ce qui les possède? J'ai un autre objet appelé KnowledgeExchange à posséder la collection des postes. Laissez-le cacher tous les détails de mise en œuvre et fournir des méthodes à getQuestion et getAnswers. Ne pas forcer vos clients d'avoir à connaître tous ces détails ou même si vous ou non mettre en œuvre comme une pile ou d'une liste.

Comme je l'ai dit, ne vous inquiétez pas sur les tables ou la persistance juste encore. Pensez à des objets. Le mieux est de faire tout le problème en termes d'objets au lieu de simplement Post, Question et réponse.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top