Astazi o sa scriu putin despre o aplicatie pe care am descoperit-o de curand, un project manager de tipul aplicatiei din pachetul micrsoft office (Microsoft Project).
Asadar… ToDoList!
Despre xml si database
In ultima perioada, in anumite proiecte, nu foarte mari, e drept, am inceput sa inlocuiesc bazele de date cu fisiere xml.
Pana nu de mult in orice aplicatie in care trebuia sa salvez date (ma refer la aplicatii web) foloseam sql. Am remarcat ca sqlserver e o aplicatie destul de “greoaie” si ca pentru a salva data simple, de genul date despre useri, taskuri ale userilor, preferinte, setari ale aplicatiei etc, date care nu necesita, sa zicem, mai mult de 300k total spatiu in fisier xml, e mai simplu sa lucrez cu fisiere xml.
Interfete in .Net
Scriam in articolul despre mostenire (inheritance) ca mostenirea unei clase foarte importanta in C#. Dar, un altfel de mostenire, cea a interfetelor, are o putere mult mai mare.
O interfata defineste un set de metode, proprietati, evenimente, indexatori care vor fi implementate de o clasa. Atentie, interfetele NU implementeaza, ele sunt abstracte si doar isi descriu membrii. Interfata precizeaza CE trebuie facut, dar NU si CUM trebuie facut.
Sintactic, interfetele sunt asematoare cu clasele abstract, cu mentiunea ca nici o metoda nu poate avea corp. Se foloseste cuvantul cheie interface.
programare orietntata pe obiecte: mostenirea
Mostenirea este unul din principiile fundamentale ale programarii. Cum functioneaza? Definim o clasa generala, clasa de baza, ce are caracteristici comune pentru o multime de elemente asemanatoare. Apoi, clasa de baza va fi mostenita de alte clase, clase derivate, care isi vor adauga pe langa caracteristicile mostenite, numai caracteristici care le identifica in mod unic. O clasa derivata este o versiune specializata a unei clase de baza. O clasa derivata va mosteni toate variabilele, metodele, proprietatile si indexarile definite in clasa de baza, la care va adauga elemente proprii, unice.
Este nevoie de conceptul de mostenire pentru a evita repetitia definirii unor clase care au in comun mai multe caracteristici. In programare, mostenirea se refera la clasificare, la o relatie intre clase.
Programarea orientata pe obiecte cu c#
Programarea orientata pe obiecte este notiunea de baza a limbajului C# si reprezinta o metodologie puternica de abordare a programarii, pornind de la programarea nestructurata, programarea procedurala si programarea modulara.
Programele orientate spre obiect sunt organizate in jurul datelor (ceea ce este afectat de executia programului). Programele contin datele cat si metodele asociate crearii, prelucrarii si distrugerii datelor.
Caracteristicile comune limbajelor care implementeaza programarea pe obiecte sunt: incapsularea, polimorfism, mostenirea. Despre ultimele doua notiuni, vom discuta in urmatoarele doua articole.
Incapsularea e un mecanism care combina codul si datele mentinandu-le integritatea in timpul utilizarii. Din aceasta combinatie, se creeaza obiectul. Tot la nivelul incapsularii se defineste nivelul de acces la datele unui obiect.
Pe scurt despre polimorfism in c# (.Net)
“O singura interfata, mai multe metode” – sintagma pe care se bazeaza conceptul de polimorfism. Se incearca stabilirea unei interfete generice pentru un intreg grup de activitati asemanatoare.
Un obiect polimorfic este capabil sa ia mai multe forme, sa se afle in diferite stari, sa aiba comportamente diferite.
Polimorfismul parametric
O metoda va prelua orice numar de parametri.
Pe scurt despre operatori in .Net (exemple in c#)
Un operator este un simbol care indica o actiune. Operandul este valoarea asupra careia se executa operatia. Operatorii alaturi de operanzi formeaza o expresie.
Clasificarea operatorilor
Operatorii sunt impartiti 3 categorii.
Despre Arrays
Un tablou reprezinta o colectie de variabile de acelasi tip, referite prin intermediul unui nume comun. Tablourile se utilizeaza oriunde exista nevoia de a grupa mai multe variabile de acelasi tip la un loc pentru a putea fi gestionate si sortate cu usurinta.Accesul se face printr-o variabila referinta.
Diferenta dintre tablourile din alte limbaje si cele din C#, este ca, aici, tablourile sunt implementate ca obiecte, fapt care conduce la colectarea automata a spatiului ocupat de tablourile neutilizate.
In C#, tablourile pot avea mai multe dimensiuni.
Tipurile referinta in .Net
Tipurile referinta permit accesul la datele necesare din locuri diferite ale programului.
Declararea tipurilor referinta nu implica automat alocarea de spatiu, ca in cazul tipurilor valoare. E nevoie de alocare explicita de memorie pentru obiectele propriu-zise, iar la atribuire este copiata referinta in destinatie, obiectul spre care indica ramanand acelasi (“aliasing”, “reference semantics”). O imagine explicativa se gaseste in articolul Tipuri de date in C#.
inserare nod in prima pozitie | despre XmlDocument (.Net)
O sa scriu despre ceva simplu, de week-and. Am muncit la un proiect care (printre altele) presupunea salvarea anumitor date in format XML. La un moment dat a trebuit sa inserez un comentariu in XML-ul care continea datele salvate. Si am vrut ca nodul de tip XmlComment sa fie primul in lista de noduri a nodului curent (sau, mai pe scurt spus, primul copil – firstChild).
Continue reading