2008-11-10 8 views

Odpowiedz

3

Jeśli używasz plików konfiguracyjnych w miejsce globów, to tak, są podobne.

Pliki konfiguracyjne powinny być używane tylko w przypadkach, gdy użytkownik końcowy (prawdopodobnie użytkownik znający komputer, taki jak programista) musi zadeklarować ustawienia aplikacji lub fragmentu kodu, jednocześnie trzymając ręce poza samym kodem .

+0

Nie miałem na myśli, że pierwsza część tej odpowiedzi brzmi snippy. Chodzi mi o to, że pliki konfiguracyjne nie są opcją do obejścia, aby zapobiec globalom. –

3

Moja pierwsza reakcja byłaby taka, że ​​to nie to samo. Myślę, że problemem z globalnymi jest scenariusz odczytu i zapisu. Pliki konfiguracyjne są tylko do odczytu (przynajmniej pod względem wykonania). W ten sam sposób stałe nie są uważane za złe zachowanie programistyczne. Pliki konfiguracyjne, przynajmniej w sposób, w jaki ich używam, są po prostu łatwymi do zmienienia stałymi.

0

Pliki konfiguracyjne powinny być łatwe do edycji przez użytkownika końcowego jako sposób przekazania programu.

Bardziej wyspecjalizowana forma plików konfiguracyjnych, preferencji użytkownika, służy do pamiętania rzeczy między wykonaniem programu.

0

Globalny jest powiązany z unikalną instancją obiektu, która nigdy się nie zmieni, a plik konfiguracyjny jest używany jako kontener dla wartości odniesienia, dla obiektów w aplikacji, które mogą się zmieniać.

Jeden obiekt "globalny" nigdy się nie zmienia w czasie wykonywania, drugi obiekt jest inicjowany przez plik konfiguracyjny, ale może się później zmienić.

W rzeczywistości obiekty te nie tylko mogą ulec zmianie w trakcie trwania aplikacji, ale mogą również monitorować plik konfiguracyjny w celu realizacji "zmiany na gorąco" (modyfikacja ich wartości bez zatrzymywania/ponownego uruchamiania aplikacji), jeśli to plik konfiguracyjny został zmodyfikowany.

3

Cóż, ponieważ plik konfiguracyjny i zmienna globalna mogą wywoływać zmiany w całym systemie - są z grubsza podobne.

Ale ... w przypadku pliku konfiguracyjnego zmiana ma zwykle miejsce w pojedynczej, dobrze widocznej lokalizacji (dla programisty), a zmienne globalne mogą wpływać na zmianę w bardzo podstępnym i trudnym do śledzenia w dół drogi - tak w ten sposób dwa pojęcia nie są podobne.

Posiadanie pliku konfiguracyjnego zwykle pomaga z DRY concepts i nie powinno to również zaszkodzić systemowi orthogonality systemu.

Punkty premiowe za użycie słowa "ortogonalne" 25 USD. Musiałem to sprawdzić w Wikipedii, żeby znaleźć definicję nieeuklidesową.

+0

Tak, czytanie Pragmatyczny programista i przedmiot globaliów jest wprowadzany po oddzieleniu. Pomysł na pliki konfiguracyjne przyszedł mi na myśl i chciał określić ich poziom zła. – osp70

0

Nie są one absolutnie takie same lub zastępstwa dla siebie nawzajem. Plik konfiguracyjny lub obiekt może być używany nie globalnie, tzn. Przekazywany jawnie.

Oczywiście można mieć zmienną globalną, która odwołuje się do obiektu konfiguracyjnego, a to byłoby celem przeciwnym.

Powiązane problemy