‘PHP’ sildiga artiklid
Tarkvara arendamine on pidev tegevus; pidevalt ilmuvad uuendused ja vigade parandused. Kõik see on meeldiv, kuid uuendamine alati pole, eriti kui peab vana maha võtma ja uue paigaldama. Kerkivad mõned küsimused: kas seadistused jäävad alles? kas kõik seaded on varundatud? Palju meeldivam on see, kui rakendus imeväel ennast uuendab ja ise midagi tegema ei pea. Nii toimivad paljud töölaua rakendused praegu, kuid samalaadselt võiksid ka meie klient-server rakendused uueneda.
Peamiselt on meil vaja uus kood kokku kompileerida, lisada talle uus versiooni number, andmebaasi skeem uuendada ja andmete kohandada. Väga palju polegi. Automatiseerimiseks sobivad lihtsad skriptid: kõige algupärasem variant oleks teha konsooli skript, kuid selleks peame väga hästi tundma iga kasutatava rakenduse parameetrite süntaksit.
KATEGOORIAD » .NET, Tarkvaraarendus
SILDID » .NET, CI, Java, PHP, pidev integratsioon, Ruby
LOE EDASI »Pea iga rakendus vajab andmete salvestamist, eriti nö andmepõhised rakendused. Seetõttu tuleb meil siduda rakendused andmebaasiga ning võimalusi selleks on mitmeid.
Küllaltki tüüpiline on alguses kasutada andmebaasi lähedast mudelit. Ehitada ise andmete vahetuskiht ja teha DataAccess objekte. Sellise lähenemisega kaasneb hulgaliselt andmekihi kirjutamist, tihti on see lausa 80% projekti mahust ning pärast kolmandat korda tundub, et pidevalt on loodud sama koodi. Oren Eini (Ayende Rahien) ühes ettekandeski ütles, et see on lahendatud probleem ning sellele vastu vaielda väga mõistlik pole.
Enne jooksmist tasub paelad kinni siduda, siiani on see hea praktika olnud. Samalaadselt peame rakenduse loomisel objektid omavahel siduma. Nagu saapapaelu saab mitut erinevat moodi siduda, saab ka objekte.
Kõige lihtsam viis on see, et üks objekt loob teise ja kutsub välja meetodi, kuid seal tekkivad tihtipeale hunnik probleeme. Meil pole võimalik testides seotud objekti võimalik välja vahetada ning see viib tavaliselt välja olukorrani, kus ühe testi käivitamiseks peame hulgaliselt seadistama.
KATEGOORIAD » .NET, Arhitektuur, Ilus kood
SILDID » .NET, Arhitektuur, ilus kood, Java, PHP, Ruby
LOE EDASI »Üks populaarsemaid kasutajaliides loomise mustreid veebirakenduste juures on Model-View-Controller ehk lühidalt MVC. Seda kohtame nii PHP, .NET, Ruby ja Java maailmas, kuid mõnes neist võib lähenemisnurk olla veidi erinev.
Liigume edasi nüüd mustri lahkamise juurde:
- Model – Selle all mõeldakse tihtipeale ärimudelit, mis pole kõige valem, kuid parem oleks mõelda vaatemudelit. Põhjus on selleks lihtne – vaates võivad olla spetsiifilised väärtused kuvamise jaoks olla (n: mõne elemendi CSS klass) ning need ei peaks olema ärimudeli küljes. Lisaks võiks see sarnaneda võimalikult Data Transfer Objectile, mille teisendab Controller ärimudelist. Sel puhul ei peaks muretsema selle üle, et kui mingit meetodit või atribuuti kutsuda ei hakata andmebaasi vms kallale minema.
- View – Peamiselt HTML vaade kus seotakse andmed malliga. Teisisõnu lõpptulemus, mida kasutaja näeb.
- Controller – Küsib andmehoidlast vastava ärimudeli, käivitab vastavad äriprotsessid ja teisendab tulemuse vaatemudeliks ning kuvab vaate.
Paljud tarkvaraarenduse ettevõtted tegelevad mitme erineva arendussuunaga. Tüüpiliselt on PHP arendus ja lisaks ka mõni staatilise keelega suund nagu Java või C#. Töövestlustest on jäänud mulje, et uus arendaja pannakse algul PHP-d kirjutama ning kui seal piisavalt ennast tõestab, siis on võimalik tal enda karjääris edasiminek teha ning Javat või C# kirjutama hakata. Teile ei tundu see imelik?
PHP on tõesti kergesti omandatav keel, isegi õppisin sellega programmeerimist. Ülikoolis Javat õppides tundus kuidagi imelik, et pean massiivide pikkuse määrama ja ei saa sinna lisada teadmata hulk elemente. Java tundus rangem olevat võrreldes PHP-ga. Massiiv on kindla suurusega elementide hulk, mis asub mälus järjest, mistõttu lugemine käib viitadele struktuuri mahu juurde liitmisega. See teeb massiivide lugemise kiiremaks, kuid ka nende kasutamise rangemaks. PHP-s tundub olevat massiiv Linked List.
KATEGOORIAD » Tarkvaraarendus
SILDID » C#, dünaamilised keeled, Java, PHP, staatilised keeled, Tarkvaraarendus
LOE EDASI »KAIZEN FEED
Telli endale Kaizeni uudisvoog
KOMMENTAARIDE FEED
Telli endale kommentaaride voog
KAIZEN TWITTER
Lühiuudised Kaizeni autoritelt
KAIZEN FACEBOOK
Liitu Kaizeniga
MIS ON KAIZEN?
Kaizen on Saiku tarkvaraarendusealane blogi, kus kirjutame erinevatest lähenemistest meisterlikule tarkvaraarendusele.
