Answer-ID
  • Întrebări
  • Tag-uri
  • Categorii
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
 GaryF
GaryF

Care este modul dvs. preferat de a interacționa cu bazele de date din limba dvs. de programare?

Există numeroase moduri de conectare și interacțiune cu stratul bazei de date. În Java, de exemplu, uzanțele comune sunt JDBC apeluri de SQL primare, harta de relații obiect, JDBCTemplate ( Primăvară ), proceduri stocate etc.

În limba dvs., care opțiune este preferința dvs. și de ce? Când ați considera ceilalți?

7 2008-08-11T18:51:43+00:00 15
Programare
design-patterns
database
Comentarii la întrebare (0)
Jay Mooney
11 august 2008 в 11:07
2008-08-11T23:07:35+00:00
Mai mult
Sursă
Editează
#8099

Prefer să construiesc un strat model de obiect de activitate (obiecte și colecții de obiecte).

Construiesc abilitatea de a interacționa cu baza de date în fiecare obiect/colecție (pentru SQL Server, folosesc System.Data.SqlClient ). Am folosit acest model pentru SQL Server, MySQL și Oracle.

Apoi interacționez cu obiectele din codul meu de aplicație.

Prin abstractizarea bazei de date în obiecte, codul meu de aplicație este consistent, indiferent de baza de date backend.

0
0
Comentarii (0)
Dan
11 august 2008 в 11:08
2008-08-11T23:08:47+00:00
Mai mult
Sursă
Editează
#8100

ORM de fiecare dată, cel puțin trebuie să mă gândesc la bazele de date cu atât mai bine.

0
0
Comentarii (0)
Vaibhav
11 august 2008 в 11:09
2008-08-11T23:09:31+00:00
Mai mult
Sursă
Editează
#8103

LINQ este calea de a mă duce de aici încolo

0
0
Comentarii (0)
Lars Mæhlum
11 august 2008 в 11:24
2008-08-11T23:24:44+00:00
Mai mult
Sursă
Editează
#8117

Îmi place cu adevărat modul de lucru 3 + 1 de a face lucruri. Un nivel pentru UI, unul pentru logica de afaceri și pentru date persistente. Ultimul pe care-l spui? Obiecte și interfețe de domeniu. Acest lucru face posibila incarcarea oricarei sau a doua dintre nivelurile principale, plus domeniul "nivel", iar codul ar trebui sa functioneze.

Se bazează foarte mult pe injecții de dependență și Principiile inversării controlului . Nivelul de date/persistență nu are decât două lucruri. Creează, citește, actualizează și șterge datele și le mută pe formatul obiectului de domeniu.

Nivelul UI face exact opusul. Se afișează și primește date într-un mod care utilizatorul poate referi la, și hărți care de ieșire/intrare și de formatul de domeniu de obiect.

Nivelul logicii de afaceri trebuie doar să știe un singur lucru. Lociga afacerii. Nu-i pasă de unde provin datele și nu-i pasă de locul în care se află nivelul de date. Știe că ar trebui să semnaleze un cont care a fost tocmai exagerat, cum să faci fizic acest lucru nu face parte din slujba lui într-adevăr.

Obiectele de domeniu în sine nu au nici o logică, sunt doar containere pentru trecerea datelor între niveluri. Aceasta înseamnă că puteți încărca obiectele de domeniu și interfețele fără a trebui să vă gândiți deloc la dependențe.

La sfârșitul zilei simt că am o bază de cod destul de clară, cu niveluri clar separate. Și cu unele interfețe stricte și clase bune de bază, cea mai mare parte a codificării este doar să spună software-ului ce să facă atunci când se întâmplă X. Cum ar trebui să fie.


Editați: Da, da. Acest lucru este valabil atât pentru linkurile LINQ, cât și pentru celelalte ORM-uri.

0
0
Comentarii (0)
Matthew Schinckel
12 august 2008 в 3:35
2008-08-12T03:35:12+00:00
Mai mult
Sursă
Editează
#8339

ORM este într-adevăr fantastic.

Eu folosesc Alchema SQL când lucrez în Python - funcționează cu aproape orice DBMS pe care l-am întâlnit.

Pentru aplicații ușoare bazate pe date pe MacOS X, folosesc Core Data, care are un instrument de modelare a datelor foarte accesibil prin Xcode.

Ambele arata ca ORM a facut bine este excelent. Am avut mai puțin succes și bucurie cu EJB.

0
0
Comentarii (0)
Dillie-O
12 august 2008 в 3:42
2008-08-12T03:42:06+00:00
Mai mult
Sursă
Editează
#8342

N-am ajuns în lumea LINQ încă, dar am venit într-adevăr să iubesc DataTable clase/TableAdapter că Visual Studio a realizat cu ajutorul un set de date XSD. Prin câteva clicuri și după drag crearea schema mea de baze de date, am un set de date/obiect DataTable care este puternic tastat și am metode adaptor care utilizează interogări parametrizat la procedurile mele stocate pentru toate declarațiile mele CRUD. Se va crea chiar și adaptoare de tabelă de interogare pentru unele proceduri care nu sunt direct legate de un tabel.

Oh, și dacă nu ați creat încă procedurile stocate și pur și simplu aveți tabele, expertul va crea procedurile sau instrucțiunile SQL adhoc pentru dvs.

Acest lucru a iesit de la Visual Studio 2005 si a redus drastic timpul meu de "structura" cu noile mele aplicatii web si ma pot concentra mai mult pe logica de afaceri si prezentare.

0
0
Comentarii (0)
lomaxx
12 august 2008 в 4:32
2008-08-12T04:32:52+00:00
Mai mult
Sursă
Editează
#8369

În C # îmi place LINQ to SQL pentru orice altceva nou, dar îmi place foarte mult să folosesc netTiers

0
0
Comentarii (0)
Orion Edwards
12 august 2008 в 4:42
2008-08-12T04:42:06+00:00
Mai mult
Sursă
Editează
#8378

Ruby on Rails ActiveRecord șterge podeaua cu tot ce am văzut până acum. LINQ pare a fi mai bine în unele cazuri, dar ActiveRecord este la fel de flexibil.

0
0
Comentarii (0)
Arcturus
12 august 2008 в 12:05
2008-08-12T12:05:26+00:00
Mai mult
Sursă
Editează
#8597

Îmi place Hibernare foarte mult :)

Știu că are o curbă de învățare, dar odată ce l-ai stăpânit, este destul de frumos.

Inutil să spun că nu pot să aștept să-mi iau mâinile pe noul Entity Framework în .NET 3.5 SP1 (știu că este deja disponibil, dar eu sunt un pic leneș să tip XML :))

0
0
Comentarii (0)
Mike Woodhouse
12 august 2008 в 12:55
2008-08-12T12:55:03+00:00
Mai mult
Sursă
Editează
#8619

ActiveRecord, which is a pattern documented first (I think) in Fowler's Patterns of Enterprise Architecture. I believe it's implemented in languages other than Ruby, although it's well-known as a core technology in Rails. Whatever, it's a neat abstraction of the database, although I have to confess that I find it a bit clunky and in the find_by_sql area. But that may just be me.

Dar (punerea pe cap acum bătrânul Grumpy) toate ORM-urile din lume nu înlocuiesc o bună cunoaștere a SQL-ului, fără de care nu-mi place să văd că accesul la un RDBMS este permis deloc.

0
0
Comentarii (0)
Andrew Wood
12 august 2008 в 3:30
2008-08-12T15:30:32+00:00
Mai mult
Sursă
Editează
#8694

În prezent, folosim ODAC pentru a vorbi cu baza de date Oracle și pentru a utiliza o mulțime de pachete Oracle ( PL/SQL ). Sistemul n-tier este realizat prin intermediul RemObjects, ceea ce înseamnă că clientul nostru nu are SQL în niciun fel și are nevoie doar de capacitatea de a trimite cereri HTTP, astfel încât să nu existe instalări deasupra capului.

Toate acestea se fac folosind Borland Delphi și se află timp de 2 ani într-un mediu de producție.

0
0
Comentarii (0)
WW.
9 octombrie 2008 в 1:15
2008-10-09T13:15:34+00:00
Mai mult
Sursă
Editează
#186497

Utilizăm o abordare mixtă, în funcție de ceea ce se va potrivi situației particulare din cadrul aplicației:

  • Atunci când citiți o pagină în valoare de informații de afișat și pentru ca un utilizator să se actualizeze, folosim modul Hibernare
  • Când procesăm un lot de actualizări sau rezumăm unde sunt deja cele mai multe date în baza de date (de exemplu, la sfârșitul zilei de procesare), folosim PL/SQL (și încercăm să gândim în seturi)
  • Când un utilizator efectuează o căutare sau execută un raport sumar, folosim ibatis sqlmaps pentru a construi niște SQL și pentru a readuce înapoi numai câmpurile care ne interesează (nu fiecare coloană și cu siguranță nu orice rânduri inutile pentru copii, urggh) li>
  • Orice trebuie să alerge rapid, vom folosi orice abordare funcționează cel mai bine

Aceasta este cu java/Oracle.

0
0
Comentarii (0)
Utilizator anonim
25 octombrie 2008 в 9:40
2008-10-25T09:40:29+00:00
Mai mult
Sursă
Editează
#235963

Utilizăm Delphi și Oracle Data Access Components (ODAC) și ADO prin intermediul Oracle.OleDBProvider.

0
0
Comentarii (0)
daduffer
9 decembrie 2008 в 9:07
2008-12-09T09:07:36+00:00
Mai mult
Sursă
Editează
#351926

Cea mai preferată cale este să utilizați Smalltalk cu un depozit de obiecte GemStone. De ce? Nu există nici o problemă cu ORM. Aș considera altceva dacă sunt forțat sau amenințat de angajatorul meu.

0
0
Comentarii (0)
staticsan
9 decembrie 2008 в 9:13
2008-12-09T09:13:37+00:00
Mai mult
Sursă
Editează
#351939

Modul meu favorit este de a avea un strat de abstractizare obiect. În mod ideal, acesta este un loc numai care funcționează cu SQL. Dar, în practică, uneori obiectele trebuie să facă lucruri SQL-y. Dar nimic în afara obiectului.

Până acum, am scris astfel de straturi pentru că ceea ce era disponibil a fost prea ciudat, prea lent sau prea mare.

0
0
Comentarii (0)
janhink
9 aprilie 2011 в 3:02
2011-04-09T15:02:38+00:00
Mai mult
Sursă
Editează
#5604613

Folosesc JDBC simplu pentru că dezvolt o aplicație bazată pe date și modelul meu de bază de date este foarte complex. Totul este descris în baza de date, chiar structura altor tabele. În plus, folosesc foarte mult procedurile stocate. Prin urmare, ORM nu este o opțiune pentru mine.

0
0
Comentarii (0)
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
ID
KO
RU
© Answer-ID 2021
Sursă
stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire