piątek, sierpnia 24, 2007

Nowy dylemat (wg. Dr.Dobbs)
Biblioteka czy Framework
Najpierw definicje:
  1. Biblioteka - jest zbiorem funkcji, które można wywołać w celu uzyskania nowej funkcjonalności (takie cegiełki do składania, jak się ktoś nimi posłuży tak mu wyjdzie). Inaczej, funkcje biblioteczne trzeba wołać z aplikacji (treści) by uzyskać formę.
  2. Framework - to coś więcej, to rozwiązanie szkieletowe, to gotowa forma, którą trzeba zapełnić treścią. Form może być skończona ilość, ale dzięki temu rozwiązania oparte o framework są do siebie podobne, niejako standardowe. Inaczej, a raczej odwrotnie, framework jest już gotową funkcjonalnością (przepływem logiki) ale bez treści, taką formę wypełnia się treścią poprzez wywołanie aplikacji. Taka zasada nosi nazwę "Odwróceniem sterowania" (Inversion of Control).
Mechanizmy zapewniające działanie tej reguły odwrotności:
  1. korzystanie z podklas (subclassing)
  2. wprowadzanie zależności (dependency injection)
  3. wzorce metod (template methods)
  4. zamykanie (closure)
Aby sprawnie posługiwać się biblioteką należy dobrze poznać jej funkcje, w frameworku mamy już podstawowy przepływ działania należy jedynie zmienić zachowanie się różnych stanów. Framework jest rozszerzalny i elastyczny poprzez stosowanie podklas możemy łatwo zmienić standardowe zachowanie i dopisać własną funkcjonalność. F jest ukierunkowany na osiągnięcie pewnej funkcjonalności, dlatego już zawiera wszystkie bazowe przepływy i zależności. Wadą F jest to, że w celu spakowania jak największej funkcjonalności F jest skomplikowany i mocno rozbudowany.
karate Kid - "Najlepszą obroną przed atakiem jest nie bycie tam"

Brak komentarzy: