Zadejte hledaný výraz...

C++ a MVC

Michal Haták
verified
rating uzivatele
(1 hodnocení)
17. 1. 2012 21:54:14
Zdravím,
aktualne jsem dodelal skolni projekt, predmetem bylo razeni sportovnich vysledku, pojal jsme to ovsem trosku jinak a pokusil se o MVC.
narazil jsem na par problemu(hlavne ze strany C++ oproti PHP)
cely projekt je v SVN a to zde: http://xp-dev.com/svn/twista-c/avc-sem/
jako program to urcite neni kompletni, jde mi hlavne o tu MVC cast
k ukazkam, nechci se davat vse(imo ne vse je potrebne)
viewer:
class Display {
private:
stringstream buffer;
protected:
public:
Display();
void clean();
/* string stream operations */
void streamFlush();
void streamWrite();
/* print basics */
void showHelp();
void showHead(bool intoFile = false);
void showMenu();
/* print specify data */
void printString(string item, bool intoFile = false);
void printLeaders(string score);
Model:
class TScoreboard { // model
private:
protected:
vector m_items;
public:
TScoreboard(void);
int Add(string name);
Racer* getItem(int ItemKey);
void Clear(void);
int Count(void);
....
Racer& operator [](int ItemKey);
string List(string delimiter);
};
trida Racer reprezentuje jednoho zavodnika, asi neni treba ji tu rozebirat
a ted Controller:
class Controller {
private:
enum state { RUN ,STOP} state;
bool first;
TScoreboard* model;
Display* view;
protected:
public:
Controller(class TScoreboard *scoreboard,class Display *display);
int run(void);
...
void callAction(int opt);
void setModel(class TScoreboard *scoreboard); // set Model
void setView(class Display *display); // set Viewer
...
}
main
using namespace std;
int main() {
/* set console locale to cs*/
setlocale(LC_ALL, "");
return Controller(new TScoreboard(),new Display()).run();;
}
kdy metoda run vypada takhle:
int Controller::run() {
while(this->isRun()) {
if(this->first) this->doFirst();
this->getList();
this->view->showMenu();
this->callAction(this->getInt());
}
return 0;
}
co si jsem vedom, tak urcite neni asi dobre cist data z klavesnice v controlleru,
propojeni modelu a vieweru je pres controller
this->view->printLeaders(this->model->List(SEPARATOR));
bylo tam vic veci nad kterymi jsem se pozastavoval,
chci vedet co si o tom myslite, jestli by jste neco resili jinak
dekuji
Twisťa
17. 1. 2012 21:54:14
https://webtrh.cz/diskuse/c-a-mvc#reply719813
Michal Haták
verified
rating uzivatele
(1 hodnocení)
20. 1. 2012 19:00:57
nikdo nic ?
20. 1. 2012 19:00:57
https://webtrh.cz/diskuse/c-a-mvc#reply719812
Pro odpověď se přihlašte.
Přihlásit