Jump to content
php.lv forumi

Interesanta diskusija par MVC


Aleksejs

Recommended Posts

  • Replies 53
  • Created
  • Last Reply

Top Posters In This Topic

Dizainer, Tavi faili atrodas mapītē module1/views :)

 

Man šķiet, ka daudz loģiskāk ir aplikāciju modulizēt un tad moduli sadalīt pa slāņiem.

 

Kad kodēju javā (Spring freimworks), tad tā arī bija, ka katram pluginam (modulim) bija sava view, controller struktūra...

Nu kā jau teicu - katrs var dalīt kā viņam ērtāk :)

Link to comment
Share on other sites

Nu naf jau tā, ka web lapa ir tikai kods no <html> līdz </html> un ir jādomā tikai par to kā saformatēt visu, lai viss izvadās pareizi. Ir arī uzturamība, ja vien, protams, neveido lapas, kas turās online pāris mēnešus un nekad nekas netiek uzlabots.

 

Es nesaku, ka procedurālā programmēšana ir slikta, vai neuzturama, bet IMO ievērojot noteiktus Design Patterns kods sanāk daudz strukturētāks un saprotamāks arī citiem, līdz ar to tas ir vieglāk uzturams un ir iespējams ērtāk pievienot jaunus moduļus (vismaz, ja viss ir labi sataisīts) un krāmēt pa virsu papildus funkcionalitāti, nezaudējot un nemainot veco.

 

Es, parasti, pirms sāku kaut ko rakstīt, apsveru, vai šis būs kaut kāds liels projekts, vai šis būs nākotnē jāuztur, vai kāds to pēcāk lasīs un pārveidos. Ja vairums atbilžu ir nē, tad es izvēlos visu rakstīt procedurāli. Ja vairums ir jā, tad OOP + kāds Design Pattern ir way to go. Tā vismaz daru es, un, pagaidām, ar to nav bijušas problēmas ne man, ne maniem kolēģiem :)

Link to comment
Share on other sites

Tas ir Design by Contract, tam ir savas priekšrocības. Jā, OOP uzliek rāmjus, taču, ja jau reiz tie ir un visā pasaulē ir atzīti, acīmredzot, iemesls ir. Tas nenozīmē, ka PP ir slikts, vnk. ir virkne objektīvu iemeslu, kas nosaka, kāpēc tiek izmantots OOP. Tu neko avantūrisku (priekš citiem) nepasaki un aukstu ūdeni neuzlej, jo ne tev, ne man nav nekāda autoritāte šajos jautājumos. Tu un es varam tikai atstāstīt atzītās teorijas un izteikt savas domas par tām.

 

Bet diskusija ir par MVC, vispār... :D

Edited by Mr.Key
Link to comment
Share on other sites

tā jau ir, bet MVC kkā baigi bieži piemin kopā OOP. tad jau pārāk tālā offtopikā neiebraucām :D:D:D

 

es gan par autoritāti atzīstu tikai tādu cilvēku, kurš domā līdzīgi kā es. un lai cik slavena būtu autoritāte, ja tā pateikto kko, ko es uzskatu par bullshit, tad man tā nebūtu nekāda autoritāte

Link to comment
Share on other sites

es gan tādu jēdzienu kā "autoritāte" uztveru apmēram kā "some1 who u respect". taču respektēt var tikai tad, ja ir par ko. tāpēc vispirms anyway pašam ir jānovērtē, vai tam cilvēkam ir taisnība un sajēga, un ja manuprāt ir + vēl kkā izceļās, tad var arī kļūt par autoritāti ;) jebkurā gadījumā tas ir subjektīvs jēdziens un katram savs. zvaigznēs nekur nav rakstīts, ka vot tas un tas ir autoritāte, bet tas nav...

 

piemēram, attiecībā uz db, autoritāte, manuprāt, šeit ir Gints Plivna. šodien viņš to lieliski pierādīja http://php.lv/f/topic/16068-count-un-group-by-sadarbiba/page__view__findpost__p__125302 vismaz ar to ieguva manu respect. tb autoritāte ir cilvēks, pie kura var, piemēram, doties pēc padoma un ir liela varbūtība, ka būs vērtīga atbilde ;) taču tas nenozīmē, ka autoritāte nav jāvērtē kritiski. kr4 ir jāvērtē pēc konkrētiem darbiem un vārdiem, jo visi ir tikai cilvēki... ar visām no tā izrietošajām sekām: kaut vai ir tāda lieta, ka cilvēkiem piemīt "tieksme kļūdīties" :D:D:D

 

hmm, za to es varētu pretendēt uz spameru autoritātes titulu :))

Edited by 2easy
Link to comment
Share on other sites

  • 3 months later...

Nu jā, codeigniter būtu manas izvēles augšgalā, pēc atsauksmēm :)

Tad labāk skaties uz Kohana 3 , kas ir CI fork's.

Problēma ar CI ir tā, ka tas joprojām supportē PHP4 un nav tik ātrs.

 

---

 

model - sql - izpilda darbības ar objekta datiem: SELECT,INSERT,UPDATE,DELETE. hmm, tā kā dati var būt arī bilde, tad tomēr sanāk, ka modeļa pārziņā ir ne tikai db, bet arī failu sistēma

controller - centrālā loģika, kas apvieno/izmanto abus model & view. pieņem lēmumu, ko darīt ar pašreizējo request (un dara tā :D)

Nē tā nav.

 

Tas ko tu apraksti nav Modelis, bet gan DAO ( data access object ). TU to sauc par modeli tikai tāpēc, ka skan labāk.

Pareizā MVC struktūrā modelis satur visu loģiku, kas attiecas uz vienu noteiktu sistēmas objektu ( to kas no UML objektu diagammas nāk laukā ).

Tas var ietver vienu vai vairākus DAO.

 

Piemēram.

// kods ko raksti kontrolierī
$me = Model::factory('user/authorized'); 
$this->view->set( 'new_mails' , $me->get_new_mail() ); 
$this->view->set( 'friends' , $me->get_all_friends( ) );

Šinī gadījumā modelis piekļūst vismaz 3 tabulām datubāzē. Lietotājiem, pastkastei uz draugu starptabulai.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...