🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.objects
1 messages
1 total messages Started by Grzegorz Danowski Sun, 18 Jun 2006 18:10
obiekty DAL i connection string
#14794
Author: Grzegorz Danowski
Date: Sun, 18 Jun 2006 18:10
32 lines
2543 bytes
Witam!

Mam komponent zawierające proste klasy z metodami pobierającymi dane z bazy, 
czyli coś w rodzaju DAL. Gdzie powinienem trzymać connection string?

Pierwotnie w tymże komponencie utworzyłem singleton, który zawierał dane 
konfiguracyjne, nazwę użytkownika, hasło i pozostałe elementy ciągu 
połączenia do bazy. A wyższa warstwa aplikacji (powiedzmy biznesowa) 
pobierała od użytkownika login i hasło, a następnie inicjowała singleton 
konfiguracyjny.

To spełniało swoje przeznaczenie, aż do czasu, gdy tenże komponent DAL 
zechciałem wykorzystać w innej aplikacji, odwołującej się do innej bazy (za 
każdym razem nowo tworzonej o innej ścieżce). Wielokrotne inicjowanie 
singletona konfiguracyjnego wydało mi się kiepskim pomysłem, więc 
przerobiłem swoje klasy DAL tak by w konstruktorze przyjmowały connection 
string. W tej chwili ciąg połączenia jest przechowywany w warstwie 
biznesowej i każdorazowo przy tworzeniu nowego obiektu DAL jest do niego 
przekazywany.

Czy to jest dobry pomysł, czy jest lepsze rozwiązanie? Musi być lepsze, bo 
jak sobię wyobraże wykorzystanie innego komponentu DAL, to przekazywanie do 
niego tego samego ciągu połączenia napewno zakończy się błędem. A więc może 
z warstwy biznesowej przekazywać tylko nazwę użytkownika i hasło, a 
pozostałe elementy niech DAL pobiera z pliku koniguracyjnego? Ale co z 
sytuacją, gdy z poziomu aplikacji chcemy odwołać się do innej bazy (nowo 
utworzonej)? Przyznam, że już mam mętlik w głowie :-).

Pozdrawiam
Grzegorz

Ps. piszę w c# 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads