Singleton, wzorzec projektowy

0

Witam wszystkich, ehh mam taki mały problem, dostałem zadanie do zrealizowania z Javie bądź w C#, mam zaiplementować
wzorzec projektowy typu SINGLETON. Problem w tym że nie ukrywam nie jestem profesionalistą, a to co jest napisane w poleceniu nie do końca jest dla mnie zrozumiałe, jeśli znalazł by się ktoś kto naprowadził by mnie na tok postępowania byłbym wdzięczny, mam na to jeszcze 3 tygodnie ale wolę sie za to zabrać troche wczesniej.

Polecenie ma następująca treść:

Stwórz obiekt cache'ujacy słownik meta danych (information_schema, dictionary) bazy danych (mySql, Oracle). Zapewnij istnienie dokładnie jednego egzemplarza słownika w systemie. Zrealizuj wariant implementacji:

  • wczesna inicjalizacja
  • późna inicjalizacja

Z góry dziekuje za pomoc, ewentualnie można się ze mna skontaktować na pw :)

0

wiem jaką funkceje ma ten singleton i jak on działa tylko nie rozumiem tego stwierdzenia.

obiekt cache'ujacy słownik meta danych (information_schema, dictionary) bazy danych (mySql, Oracle)

Gdyby mogł mi ktos to po chłopsku przetłumaczyc i zasugerować jak cos takiego zrealizowac, byłbym wdzieczny, wiem ze moze dla kogos to jest trywialne, lecz nie siedzialem w programowaniu z 2 lata a tu nagle z czyms takim nam koles wyskoczył, i nie mam pojecia jak sie do tego zabrac ehh

0
ja.... napisał(a):

wiem jaką funkceje ma ten singleton i jak on działa tylko nie rozumiem tego stwierdzenia.
obiekt cache'ujacy słownik meta danych (information_schema, dictionary) bazy danych (mySql, Oracle)

czyli musisz zapytać się twoją bazę danych o jedną z tabelek (tą słownikową), a następnie zapisać w pamięci (w jakimś polu swojego singletona) interesujące Cię dane.

  • łączysz się z bazą danych
  • walisz select-a
  • wyniki obrabiasz i zapisujesz do pola w singletonie

... ja tak to rozumiem :)

0

Ja rowniez nie rozumiem polecenia. Jesli takie cos dostajesz jako zadania na studiach na tym etapie, to lepiej nie pytam co bedzie dalej...

0

a uzupełniając:

wczesna inicjalizacja: walisz selecta natychmiast (jakiś statyczny blok inicjalizacyjny)

późna inicjalizacja: wszystkie pola masz na null. uzupełniasz przy pierwszym wywołaniu metody:

Object pobierzCosTam() {
    if( pole == null) {
       // select i inne klamoty
    }
    return pole;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1