Kavacky Posted October 23, 2012 Report Share Posted October 23, 2012 Tu idiotu tēlo un oftopiku dzen uz pilnu slodzi, jeb tikai brīvajā laikā? Dīvaini, man šķita, ka ar šo Globāļi ir ļaunums jo nav iespējams atsekot un limitēt to, kas, kur un kāpēc tur tiek glabāts, kas, kur un kāpēc to izmanto utml sīkas nianses... tas bija tavs amats. Link to comment Share on other sites More sharing options...
F3llony Posted October 23, 2012 Author Report Share Posted October 23, 2012 Dīvaini, man šķita, ka ar šo tas bija tavs amats. Link to comment Share on other sites More sharing options...
v3rb0 Posted October 23, 2012 Report Share Posted October 23, 2012 Ir globāļi ļaunums un bumba ar laika degli. Kamēr biju redzējis tikai prātīgu/piesardzīgui/disiplinētu globāļu izmantošanu es ar domāju ka nekas traks globāļi nav, bet nu pēc projekta, kur globāļus maina jebkurš un jebkur, kur tik ienāk prātā.. Link to comment Share on other sites More sharing options...
F3llony Posted October 23, 2012 Author Report Share Posted October 23, 2012 Ir globāļi ļaunums un bumba ar laika degli. Kamēr biju redzējis tikai prātīgu/piesardzīgui/disiplinētu globāļu izmantošanu es ar domāju ka nekas traks globāļi nav, bet nu pēc projekta, kur globāļus maina jebkurš un jebkur, kur tik ienāk prātā.. Par ko es arī runāju. Nav iespējams garantēt, ka API pēcāk neizmantos mazāk skillots cilvēks par pašu arhitektūras veidotāju kas vienkārši nezināšanas dēļ var piešķilt uguni visai jaukajai arhitektūrai. Link to comment Share on other sites More sharing options...
marrtins Posted October 23, 2012 Report Share Posted October 23, 2012 (edited) Nu bet te jau mēs atgriežamies pie problēmas labs/slikts programmētājs. Bez globāļiem, šārētu atmiņu - sauc kā gribi - kaut ko reāli uzkodēt ir baisi grūti, ja neteiktu neiespējami. Lūk pieredzējušāka cilvēka domas/pieredze: http://prog21.dadgum.com/23.html Pēc otrās reizes, kad tev paprasīs pārrakstīt visu moduli pret doto API tā, lai tas to izmantotu tā, kā tas ir paredzēts arhitektūrā Paredzi arhitektūrā, ka globālus mainīgos nedrīkst izmantot :) Tai skaitā singletonus, multitonus, dabababaonus. Vēl var mēģināt paredzēt, lai kodē bez kļūdām, raksta skaistu kodu un lai performance būtu \m/ :D Edited October 23, 2012 by marrtins Link to comment Share on other sites More sharing options...
F3llony Posted October 23, 2012 Author Report Share Posted October 23, 2012 Mārtiņ, globālis ir globāls mainīgais. Singletons/multitons/reģistrs ir objekts... Kurā var rakstīt izpildāmu kodu, padarīt to read-only, veidot userspace sandbokšus utt. utjp... Link to comment Share on other sites More sharing options...
marrtins Posted October 24, 2012 Report Share Posted October 24, 2012 Reāli kāda tad ir atšķirība? $marrtis_OBJECT1_DB_LINK1=mysql_connect(); <- globāls userspace mainīgais :D marrtins_get_data($object_id) <- user defined namespace metode :D T.i., tādā reģistr-objektā ir abstahēts augstāk uzrakstītais, tas arī viss. Destruktīvs programmētājs tāpat atradīs viedu, kā kaut ko sajāt, apiet. Link to comment Share on other sites More sharing options...
F3llony Posted October 24, 2012 Author Report Share Posted October 24, 2012 Nav runa par destruktīvismu, bet gan par pieredzes/skilla trūkumu. Šādi ierobežojumi nav paredzēti lai apturētu psihopātiskus bezsmadzeņu idiotus, bet lai pateiktu programmētājam, kam maz, vai nekāda pieredze ar sistēmu "You are doing it wrong, here is how You do that". Link to comment Share on other sites More sharing options...
daGrevis Posted October 24, 2012 Report Share Posted October 24, 2012 "Here is how you do that" tu gan nekādīgi nepasaki. Link to comment Share on other sites More sharing options...
Kavacky Posted October 24, 2012 Report Share Posted October 24, 2012 Vienīgais, kuram te pieredzes ( un saprašanas ) ir par maz, tas ir F4llony. Link to comment Share on other sites More sharing options...
F3llony Posted October 24, 2012 Author Report Share Posted October 24, 2012 Vienīgais, kuram te pieredzes ( un saprašanas ) ir par maz, tas ir F4llony. Tev ir kaut kādas problēmas? Moš satiekamies pie kafijas tases un izrunājam dzīvajā, lielmeistar? "Here is how you do that" tu gan nekādīgi nepasaki. Pamatojums? E.G Exceptions/kļūda/whatever "this is a bla bla bla, use bla bla instead" tev neko nepasaka? Nu, kā jau minēju, šādi ierobežojumi nav paredzēti lai apturētu bezsmadzeņu idiotus... Mēs varam atgriezties pie topika un vai grāvis ar kabaci varētu aizvākties ... kaut kur citur? Link to comment Share on other sites More sharing options...
aaxc Posted October 24, 2012 Report Share Posted October 24, 2012 "Here is how you do that" tu gan nekādīgi nepasaki. Šī iemesla dēļ man te bariņš "posteru" ir ignore listē. Link to comment Share on other sites More sharing options...
Kavacky Posted October 24, 2012 Report Share Posted October 24, 2012 Visi jaudīgi rīki ir bīstami. Tas, kas ir muļķudrošs, ir neefektīvs. Piemēram, malloc vs fixed size array. Link to comment Share on other sites More sharing options...
codez Posted October 24, 2012 Report Share Posted October 24, 2012 Ar DI konteineri viss izskatās jau baudāmāk, bet pastāv viena problēma, reāli aplikācija vār būt simtiem kontroleri, desmitiem modeļi un vēl vesela kaudze dažādu objektu un bibliotēku. Vai tagad šīs visas katrā requestā ir jāreģistrē DICā? Link to comment Share on other sites More sharing options...
Joyride Posted October 24, 2012 Report Share Posted October 24, 2012 Kontrolieri iekš DIC nav jāreģistrē, tiem tiks automātiski iebarotas dependencies, caur maģisko create() f-ju. Reģistrēt vajag tikai core klases, data mapperus un servisus. Ir jāreģistrē visas klases, kuras tiek lietotas aplikācijas ietvaros, un kurām vajag dependencies, taču izveidotas (lasi: new SomeClass) tiks tikai reāli izmantotās konkrētajā requestā. Domā par DIC konfigurāciju tāpat, kā par programmas konfigurāciju - tur tiek definēti visi iespējamie programmas konfigurācijas parametri, nevis atsevišķs fails katram requestam ar tikai tajā izmantotajām vērtībām. Link to comment Share on other sites More sharing options...
Recommended Posts