Wciąż widzę CakePHP i CodeIgniter określane jako frameworki MVC o pełnym stosie, podczas gdy Zend Framework jest uważany za niepełny stos. Co to dokładnie oznacza?Układy oparte na pełnym stosie i niewypełnionym stosie MVC PHP - na czym polega różnica?
Odpowiedz
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.
- 1. SSL na stosie usług
- 2. Czy tablice oparte na stosie są możliwe w języku C#?
- 3. Czy w Pythonie występują zmienne oparte na stosie?
- 4. Na czym polega różnica NSTableView opartego na komórce i NSTableView opartego na widoku?
- 5. Legenda wykresów Google na stosie
- 6. Zmodyfikuj adres zwrotny na stosie
- 7. C++ Przydzielanie pamięci na stercie i stosie?
- 8. kontenery STL na stosie i sterty
- 9. Java Garbage Collection na na stosie Tablice
- 10. Co dzieje się na stosie lub sterty?
- 11. Dlaczego na stosie jest za dużo miejsca?
- 12. Instrument na stosie Windows 7 Bluetooth
- 13. Praca na permutowanym stosie transformatora monadowego
- 14. Czy std :: cout działa poprawnie na stosie?
- 15. przydzielić pamięci na stosie bez wywoływania konstruktora
- 16. Wymuś podanie gcc parametrów na stosie
- 17. Kiedy struktura nie jest na stosie?
- 18. OCaml w stosie korporacyjnym
- 19. constantPoolClass w stosie Java?
- 20. Dynamiczna tablica w stosie?
- 21. Czy istnieje sposób na wykorzystanie kolekcji na stosie w Rust?
- 22. Czym różnią się układy w stosy od stacked coroutines?
- 23. git.cmd vs git.exe - na czym polega różnica i który z nich należy zastosować?
- 24. Czym dokładnie jest "programowanie oparte na interfejsie"?
- 25. Zakłopotanie początkującego o stosie x86
- 26. Czy można przechowywać sekrety na stosie w java?
- 27. Jak przekierować do HTTPS z .htaccess na Heroku Cedar stosie
- 28. Na czym polega problem z ODBC jako technologią?
- 29. Na czym polega cieńowanie zmiennych w klasie Java?
- 30. Na czym polega program iTunes dla systemu Windows?
O, widzę. Wygląda na to, że pełny stos jest analogiczny do ściśle powiązanego. Brzmi okropnie;) Dzięki! –
Kiedy mówisz "magia", masz na myśli, że musisz mniej koduować, ponieważ struktura tworzy założenia i obsługuje automatycznie więcej? –
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". –