2009-10-01 8 views

Odpowiedz

13

Zend Framework to framework do użytku w czasie rzeczywistym, który umożliwia korzystanie z niektórych jego składników. Można nawet użyć niektórych z tych składników w aplikacji zbudowanej przy użyciu innej architektury o innej architekturze. W ten sposób framework "use-at-will" jest bardziej podobny do biblioteki klas. *

Struktura całego stosu oznacza, że ​​korzystanie z jakiejkolwiek jej części zależy od tego, czy wykorzystujesz to wszystko. Na przykład musisz użyć biblioteki dostępu do danych frameworka, architektury MVC, szkieletu generującego kod, itd., A wszystkie te komponenty opierają się na sobie nawzajem, tworząc kompletną strukturę.

Twoja odpowiedź: tak, sprzężenie to jeden sposób patrzenia na to. Patrzę na to jako równowagę pomiędzy założeniami a elastycznością. Struktura pełnego stosu zakłada, że ​​używasz całej struktury, i z tego założenia może się wydarzyć dodatkowa magia.

ZF został zaprojektowany w celu zminimalizowania założeń (to jest zminimalizowania sprzężenia). Jego komponenty mają kilka założeń na temat tego, czy używasz pozostałych składników, co zmniejsza zależności, ale zwiększa elastyczność. Ale mniej założeń oznacza mniej magii.

Oba style ram mają uzasadnione zalety.


* Jedną kluczową różnicą między zwykłą biblioteką klas a strukturą jest to, że framework ma być rozszerzalny. Zachęcamy do poprawy funkcjonalności architektury poprzez mechanizmy OO takie jak podklasy czy polimorfizmy. Podczas gdy biblioteka klas może zakładać, że użyjesz interfejsu API tak, jak jest, bez rozszerzania jego funkcjonalności.

+0

O, widzę. Wygląda na to, że pełny stos jest analogiczny do ściśle powiązanego. Brzmi okropnie;) Dzięki! –

+1

Kiedy mówisz "magia", masz na myśli, że musisz mniej koduować, ponieważ struktura tworzy założenia i obsługuje automatycznie więcej? –

+1

Na przykład kontroler MVC może szukać skryptów widoku i klas modeli w określonym katalogu i przy użyciu określonej konwencji nazewnictwa plików. Jeśli pliki istnieją i mają odpowiednie nazwy klas, są one automatycznie ładowane i używane. Nie wymaga kodu - pod warunkiem, że postępujesz zgodnie z konwencją ramową. Wiele konwencji jest możliwych poza konwencjami nazewnictwa plików, na przykład tabele i kolumny bazy danych muszą być nazwane w określony sposób. Pomysły te są powiązane z "konwencją przez konfigurację" lub "programowaniem upowszechnionym". –

Powiązane problemy