Konwencje pomagają uprościć i zautomatyzować pewne taski. Ale wymuszają pewne zachowania, łatwo też o literówkę lub inne błędy, przez które coś tam nie będzie działać. Co preferujecie?
Chętnie też usłysze z życia wzięte przykłady, gdzie wybraliście/wybralibyście którąś z w/w.
0
0
ubuntuser napisał(a):
Konwencje pomagają uprościć i zautomatyzować pewne taski. Ale wymuszają pewne zachowania, łatwo też o literówkę lub inne błędy, przez które coś tam nie będzie działać. Co preferujecie?.
To chyba jak musisz wszystko z palucha wpisać to masz większe prawdopodobieństwo pomyłki.
0
Na pewno? Konwencje działają tak, że jak coś nie pasuje do konwencji to jest pomijane. Natomiast konfiguracja explicite nie jest ignorowana, jak będzie w niej błąd to framework się wykrzaczy.
0
Moim zdaniem:
- Konfiguracja w kontekście kluczowych elementów aplikacji, szczególnie kiedy możemy chcieć na nie zerkać raz na jakiś czas. Więc tutaj takie elementy jak konfiguracja IoC, bazy danych etc.
- Konwencja w kontekście implementacji zwykłych elementów aplikacji
Na przykład w Springu
- data source, transakcje, konfiguracja dostępu do bazy i inne kluczowe elementy explicite w pliku konfiguracyjnym
- obiekty
@repository
,@service
, zależności@inject
, wszelkie zachowania dodane przez AOP (@transactional
) robione wg konwencji
W ten sposób konfiguracja zawiera tylko kluczowe elementy, jest łatwa w utrzymaniu i krótka, a jednocześnie błędy w "konwencji" nie powodują sypania się całej aplikacji.