Ostatnio opracowuję aplikację internetową w Seaside + Squeak i uznałem ją za wspaniałe doświadczenie. Nad morzem naprawdę jest głowa i ramiona ponad każdą inną strukturą i czuję, że pracuję na wyższym poziomie abstrakcji (powyżej żądania HTTP/cyklu odpowiedzi i szablonowania HTML, z którym radzą sobie inne frameworki).Kiedy używać komponentów Seaside i kiedy używać prostych obiektów renderowania?
Powiedziałem, że jestem nieco zdezorientowany komponentami Seaside. Niedawno musiałem wyświetlić listę obiektów na komponencie (podobne do strony głównej stackoverflow). Na początku uczyniłem każdy obiekt komponentem (podklasą WAComponent), ale okazało się to naprawdę marnotrawstwem i musiałem dynamicznie ustawić #children w komponencie nadrzędnym, aby w ogóle działało. Następnie próbowałem robić je renderować obiekty (obiekty, które nie są podklasami WAComponent i renderowania przy użyciu renderOn: zamiast obiektu renderContentOn :, podobnie jak komponenty). To zadziałało, ale teraz nie mogły już uzyskać dostępu do stanu globalnego w obiekcie sesji, tak jak komponenty mogą (używająC#session). Następnie odkryłem "Wartość WACurrentSession", która daje każdemu obiektowi dostęp do bieżącego obiektu sesji Seaside. Teraz mogłem uczynić je renderującymi obiektami. Ponadto odkryłem, że mogę przepisać wiele innych, bardziej pomniejszych komponentów, również jako obiekty renderowania.
Poza tym, że potrzebne jest wywoływanie/odbieranie lub cofanie, jakie są inne powody używania komponentów do renderowania obiektów?
Dziękujemy za szczegółową odpowiedź! –