![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Problem dotyczy strony www - małego CMS opartego o MVC.
Mam klasę warstwy model dla części aplikacji służącej do wyświetlania galerii oraz klasę warstwy model od strony administratora. Stworzyłem osobną klasę UploadFile i rozszerzyłem ją o klasę modelu galerii w części admin. Czy to dobre rozwiązanie? Czy lepiej to co jest w klasie UploadFIle umieścić w klasie modelu galerii administratora? Funkcjonalność części administracyjnej pokrywa się częściowo z funkcjonalnością części standardowej - wyświetlanie strony. Jak skorzystać z tych samych metod pobierania zdjęć w modelu administratorai i modelu służącego do wyświetlania zdjęć na stronie? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Stwórz może katalog Core, który zawiera część wspólną dla obu części. Miałbyś wtedy wydzielone wspólne elementy, a także osobne dla części administracyjnej oraz klienckiej. W ten sposób mógłbyś odseparować obie części i biblioteki im potrzebne. W Core, Admin i Client mógłbyś zastosować model MVC niezależnie. Traktując każdą z nich jak swego rodzaju bibliotekę.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Stwórz może katalog Core, który zawiera część wspólną dla obu części. Miałbyś wtedy wydzielone wspólne elementy, a także osobne dla części administracyjnej oraz klienckiej. W ten sposób mógłbyś odseparować obie części i biblioteki im potrzebne. W Core, Admin i Client mógłbyś zastosować model MVC niezależnie. Traktując każdą z nich jak swego rodzaju bibliotekę. Nie jestem pewien czy nie wprowadziłoby to jakiegoś chaosu obecną strukturę. Może załączę screena ze strukturą katalogów mojego projektu. (IMG:http://img845.imageshack.us/img845/4129/iea5.jpg) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
A jaki jest sens rozbijania tego na model dla użytkownika i osobny dla admina? Kontroler powinien odpowiadać za dostęp przez ACL do każdego komponentu modelu.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
A jaki jest sens rozbijania tego na model dla użytkownika i osobny dla admina? Kontroler powinien odpowiadać za dostęp przez ACL do każdego komponentu modelu. (IMG:style_emoticons/default/smile.gif) Sam zastanawiałem się nad organizacją struktury, szukałem po sieci i wypytywałem tutaj na forum. I oto efekt (IMG:style_emoticons/default/smile.gif) Wydawało mi się to dość logiczne i przejrzyste, bo chyba łatwiej jest się odnaleźć/zorientować w strukturze, jeżeli mamy w katalogu admin rzeczy związane z panelem admina, niż gdyby wszystko zostało wrzucone do jednego katalogu? Byłbym bardzo wdzięczny gdybyś wypisał jak taka struktura powinna wyglądać i przy okazji odpowiedział na moje wątpliwość dotyczące organizacji klas/kodu wspólnego dla części admina i klienta. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
A jak będziesz chciał kasować np. posty z forum który ma widok wspólny dla użytkownika i będziesz chciał coś zmienić to będziesz poprawiał to w 2ch plikach? Model jest jeden,wspólny i tylko on, ewentualnie widok, to kontroler wszystkim steruje jak wskazuje jego nazwa i może być on osobny (a nawet powinien) dla panelu.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
A jak będziesz chciał kasować np. posty z forum który ma widok wspólny dla użytkownika i będziesz chciał coś zmienić to będziesz poprawiał to w 2ch plikach? Model jest jeden,wspólny i tylko on, ewentualnie widok, to kontroler wszystkim steruje jak wskazuje jego nazwa i może być on osobny (a nawet powinien) dla panelu. Fajnie, wspólny model rozwiązuję po części moje problemy z organizacją kodu. Nie do końca rozumiem przykład z kasowaniem postów... Czy takie funkcjonalności jak upload plików należy umieszczać w modelu, czy w oddzielnej klasie i rozszerzać klasę modelu o klasę np. UploadFile? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zarządzanie plikami, a model który ma kasować pliki to osobne klasy. Załóżmy że masz blog z panelem admina, w nim kasujesz komentarze, ale przykładowo wychodzisz poza panel i przeglądasz komentarze bezpośrednio we wpisie i tam masz link do kasowania jako że jesteś zalogowany jako admin. To przecież nie zrobisz osobnego kasowania w komentarzach i osobnego w panelu...
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
ACL, ogólnie system uprawnień, routing czy tego typu rzeczy, które faktycznie są pewnym trzonem używanym niezależnie od tego gdzie jesteśmy, to właśnie Core. Jeśli jest ona w miarę niezależna i nie potrzebuje wstrzyknięć, wydzielasz to jako bibliotekę, lub jeśli jest malutkie, ewentualnie helper.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 29.09.2025 - 00:51 |