Witam!
Mam pytanie odnośnie struktury pewnego programu. Program ten sprzedaje kredyty (po prostu podmienia jakiś plik) i przy każdej sprzedaży zapisuje dokładną godzinę i wartość sprzedanego kredytu (w sumie do tego są 3 logi i w każdym są podobne informacje).
Aplikacja dzieli się na dwie funkcje - Sprzedawca i SuperVisor. Sprzedawca tylko sprzedaje kredyty (sprowadza się do to wywołania 1 funkcji), a SuperVisor (jest to tryb zabezpieczony hasłem) wyświetla wszystkie logi i ew. je usuwa.
Wszystko było by pięknie, tyle, że do tego dochodzą jeszcze trzy ścieżki (zapisane w plikach tekstowych, w folderze, którego lokalizacja się nigdy nie zmienia).
Są to ścieżki do:
- folderu z kredytami (stąd kopiuje się dany plik)
Ścieżki może modyfikować (i odczytywać) tylko SuperVisor. Żeby wszystko było jasne - oto schemat:
http://img33.imageshack.us/img33/5336/schematb.png
W klasie Kredyt ścieżki (są to obiekty typu std::string, wczytujemy do nich ścieżki z pliku tekstowego) i funkcje do ich zmieniania są prywatne ponieważ Sprzedawca tych funkcji wywołać by nie mógł (on ma tylko sprzedawać kredyty - reszta go nie interesuje). Dlatego klasę tą zaprzyjaźniamy z SuperVisor’em.
I teraz pytanie główne: czy klasę Dziennik_zdarzen też zaprzyjaźnić z SuperVisor’em czy może w ogóle jej ścieżkę do logów (i funkcję modyfikującą) zrobić publiczną - bo obiektu typu Dziennik_zdarzen w funkcji Sprzedawca() nie definiujemy, więc nie ma ryzyka, że ktoś niepowołany się do tego dostanie :?:
Z góry wielkie dzięki za pomoc
PS. Pytanie może i błahe, ale nie chciałbym nabrać złych nawyków w projektowaniu na przyszłość…