Techniki tworzenia dużych aplikacji.

Techniki tworzenia dużych aplikacji.
przemek_l
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 94
0

Witam,

Z okazji świąt i biorąc pod uwagę moje ostatnie doświadczenia chciałbym rozpocząć taki temat , nie chodzi mi o konkretne narzędzia ale o różnego rodzaju sposoby projektowania dużych aplikacji czy serwisów , ja wypracowałem sobie swoje własne przez lata ale ostatnio naszła mnie myśl że powinna być możliwość zrobienia tego lepiej może ktoś zna jakieś ciekawsze techniki projektowania dużych aplikacji ?

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
1

Pytanie, co to znaczy "lepsze"?
Cierpisz na wydajność/ skalowalność/ parametry liczbowe?
Brak kontroli nad utrzymaniem i rozwojem (big ball of mud)?

przemek_l napisał(a):

ja wypracowałem sobie swoje własne przez lata

Generalnie o użytkowniku forum coś się wie, o Tobie niewiele.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
neves
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1114
4

Jest jedna uniwersalna technika którą sprawdza się wszędzie, przy pisaniu dużych aplikacji monolitycznych czy przy pisaniu aplikacji rozproszonych, wywodzi się ona z algorytmiki, i jest na tyle naturalna i oczywista, że aż zapominamy że ma swoją nazwę: dziel i zwyciężaj/divide and conquer.

LukeJL
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8528
1

o różnego rodzaju sposoby projektowania dużych aplikacji czy serwisów , ja wypracowałem sobie swoje własne przez lata ale ostatnio naszła mnie myśl że powinna być możliwość zrobienia tego lepiej może ktoś zna jakieś ciekawsze techniki projektowania dużych aplikacji ?

Po co projektować "duże" aplikacje? Lepiej projektować aplikację tak, żeby mając dużo funkcji, dalej wydawała się mała i prosta. Czy nie robić molochów, tylko zaprojektować dużą aplikację tak samo jak małą, tylko na większą skalę.

Czyli mały core + system pluginów i sposób przekazywania danych między pluginami. Decoupling między różnymi warstwami. Żeby nie robić monolitu, który będzie w jednej funkcji łączył się z bazą danych, dokonywał zaawansowanych obliczeń, a potem wyświetlał to na ekranie - tylko, żeby podzielić to na małe warstwy, gdzie każda warstwa jest możliwie głupia i operuje na danych dostarczonych przez inną warstwę.

S9
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 3573
2

@przemek_l: Polecam poczytać Robert C. Martina

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.