Webdesign profesionist

Webdesign profesionist

Share

Programare orientata pe obiecte sau procedural? (III) | Web Ro Design 17/05/2016

Programarea orientata pe obiecte sau procedural? (III)
http://webrodesign.ro/programare-orientata-pe-obiecte-sau-procedural-iii/

Implementarea evidentiata in articolul anterior pune in evidenta cateva probleme specifice programarii procedurale pe care le detaliem in continuare.

Limbajele de programare procedurale nu permit stabilirea unor legaturi clare intre datele care trebuie prelucrate si functiile responsabile cu prelucrarea lor. Structura de date „ListaCarti” este definita separat de definitiile functiilor „Initializare”, „Adaugare”, „Cautare”, „Catalogare”, care o folosesc. Limbajul de programare nu pune la dispozitie o entitate conceptuala care sa reuneasca datele de prelucrat cu functiile utilizate pentru managementul lor. In cazul programelor care implica numeroare structuri de date aceasta separare intre date si metode de prelucrare poate face intretinerea programului dificila.
Functia „Cautare” este o functie auxiliara a carei existenta nu este ceruta de specificatiile problemei. Ea a fost introdusa de programator in procesul de construire a solutiei. Totusi, functia „Cautare” poate fi apelata direct din programul principal, la fel ca si functiile reprezentand operatii mentionate in descrierea problemei. In consecinta, coul client reprezentat de functia main() poate avea acces si utiliza detalii specifice implementarii. In cadrul articolelor noastre , prin cod-client pentru o componenta software vom intelege orice portiune de cod care utilizeaza serviciile acelei componente. Caracteristica prezentata face ca solutia sa fie mai putin flexibila , deoarece schimbarea detaliilor de implementare ar putea afecta codul-client. Ideal ar fi sa dispunem de mecanisme de protectie care sa impiedice utilizarea de catre codul-client a unor elemente specifice implementarii, codul-client ar trebui sa aiba acces numai la o interfata prestabilita.
Structura de date „ListaCarti” poate fi accesata direct din functia main () fara a utiliza functiile special proiectate pentru managementul ei. Acest fapt poate conduce la alterarea consistentei continutului acesteia. Este recomandata crearea unor mecanisme de protectie care sa limiteze accesul la o structura de date a acelor functii special proiectate pentru a o gestiona.
Initializarea structurii dedate „ListaCarti” este realizata in mod explicit de catre programator la inceputul functiei main(). Omiterea accidentala aunei operatii de initializare este o sursa comuna de erori in programare. Initializarea automata a structurilor de date la momentul crearii acestora ar contribui la cresterea calitatii aplicatiilor.
Programale procedurale au un caracter monolitic. Este dificil sa reutilizam parti dintr-o aplicatie procedurala in cadrul unei alte aplicatii.

Implementarea solutiei prin programarea orientata pe obiecte presupune identificarea principalelor entitati prezente in descrierea problemei si care vor colabora la rezolvarea ei. Decidem sa consideram entitatile „Biblioteca”, „carte”,”stare”, ultimul concept reprezentand starea particulara a unei carti cu variantele „Pregatire”, „Disponibila”, „Imprumutata”, si „Intarziata”.

Uratorul pas consta in stabilirea relatiilor intre entitatile identificate. Avem mai multe tipuri de relatii:

biblioteca include o lista de carti, asadar intre entitatile „Carte” si „Biblioteca” avem o relatie de tip parte-intreg. O biblioteca contine mai multe carti, dar fiecare carte apartine unei dingure biblioteci., fiind vorba de o relatie n-la-1. Relatiile de acest tip se reprezinte grafic cu ajutorul unei linii ce uneste cele doua entitati avand un romb plin la capatul dinspre intreg (entitatea „Biblioteca”).
fiecare carte are o stare, dar o aceeasi stare poate fi partajata de mai multe carti (mai multe carti pot fi simultan „disponibile”, „imprumutate”, „intarziate” sau in „pregatire”). La fel ca si in cazul anterior intre entitatile Stare si carte exista o relatie de tip parte-intreg, cu multiplicitatea 1-la-n. Ea va fi reprezentata printr-o linie care uneste doua entitati avand un romb gol la capatul dinspre intreg (entitatea „Carte”).
entitatile „Pregatire”, „Disponibila”, „Imprumutata” si „Intarziata” sunt cazuri particulare ale entitatii „Stare”. Acest tip de relatie de la aprticular la general se reprezintaprintr-o linie care uneste cele doua entitati avand un triunghi gol la capatul disnpre entitatea care reprezinta generalul (entitatea „Stare”).

Continuarea in articolul urmator……..:)

Programare orientata pe obiecte sau procedural? (III) | Web Ro Design Tutoriale C/C++ Detalii privind solutia oferita de programarea procedurala

26/02/2016

Utilizarea spatiilor albe in HTML si PHP

Asa cm stiu cei care redacteazamanual programe HTML , spatiile albe (liniile vide, caracterele de tabulare si alte spatii suplimentare) pot contribui la pastrarea unui mediu de programare aerisit, fara a afecta in niciun fel ceea ce utilizatorul vede in browser. Prin inserarea de linii vide intre sectiunile unui program , plasarea elementelor imbricate cu un caracter de tabulare mai la dreapta fata de predecesorul lor si spatierea liniilor de program puteti determina un script sa aiba un aspect mai organizat , de asmenea , va fi mai usor de programat la inceput si de depanat ulterior. Astfel, utilizarea judicioasa a spatiilor albe in activitatea este incurajata si poate fi utilizata atat in PHP cat si in HTML. Pe parcursul articolelor mele pe acest site voi aborda trei domenii ale dezvoltarii programelor HTML si PHP: scripturile PHP si HTML , datele (HTML) pe care scripturile PHP le trimit catre browsere si maniera in care browserul web interpreteaza ceea ce primeste de la server. Iata, pe scurt, problema spatiilor libere pentru fiecare din aceste domenii.

Cand programam in PHP trebuie sa intelegem ca spatiile libere sunt , in general (dar nu si universal), ignorate. O linie vida (sau mai multe...) sunt irelevante pentru rezultatul final. Similar , caracterele de tabularesi spatiile sunt , in mod normal, lipsite de orice efect asupra PHP.

Spatierea liniilor de program PHP isi face aparitia si in codul HTML sursa al unei pagini web, dar are efect minimal asupra a ceea ce se poate vedea in browserl web Pentru a ajusta spatierea respectiva, trebuiesc folosite etichete HTML speciale. Iata mai jos, un script minuscul care face asta:





Va salut!

Want your business to be the top-listed Computer & Electronics Service in Bucharest?
Click here to claim your Sponsored Listing.

Category

Telephone

Address


Masina De Paine 18
Bucharest
021134