Convention over configuration

0

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
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.

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