Question

Possible Duplicate:
Relational UML Diagram inspired by SO

I have developed my homework from the post.

Problem: to do posts similarly as in SO so that the first post is the question and the other posts are replies after the question.

Question: How would you improve the interfaces? Would some simpler data structure make things easier?

Was it helpful?

Solution

Your first question confuses me. UML makes me think of objects and "Posts-table" makes me think of relational databases. Which one do you mean? I'll assume that you want objects.

You need an interface or abstraction that represents both questions and answers - maybe that's the Post interface. It'll have attributes like text and author and a timestamp when it was posted.

Since the question will never come before an answer, if you have a collection of Post instances it'll be in the proper order if you sort it by timestamp.

UPDATE: UML means object-oriented programming. Python is both an object-oriented and a functional language. So that means you'll be thinking about the problem in terms of objects first.

Thinking in terms of objects means setting aside concerns about user interface and database. You design the objects to provide the kind of behavior that you need. You can have a simple text interface at first, and object serialization will do for persistence. But get the objects right first.

When you say "interface", I think of Java interfaces. They declare the signature of the class, but say nothing about implementation. So your Post interface might have Question and Answer implementations.

What contains all the Post instances? What owns them? I'd have another object called KnowledgeExchange to own the collection of Posts. Let it hide all the implementation details and provide methods to getQuestion and getAnswers. Don't force your clients to have to know all those details or even whether or not you implement it as a stack or list.

Like I said, don't worry about tables or persistence just yet. Think about objects. Best to make the whole problem in terms of objects instead of just Post, Question, and Answer.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top