Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] architektura aplikacji
Foxx
post 16.04.2009, 23:46:34
Post #1





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Witajcie. Rozpoczynam pracę nad stroną i mam problem z ustaleniem odpowiedniej architektury.
Będę naprawdę wdzięczny za wszystkie sugestie.
Strona nie jest może bardzo skomplikowana, ale wymaga trochę pracy koncepcyjnej.

Strona składa się tak naprawdę z trzech różnych stron o różnej grafice - zamierzam zrobić
dla każdej osobną aplikację i wygenerować dla nich jeden wspólny panel administracyjny.
Pytanie 1: czy jest to dobry pomysł (wspólny admin)? Nie robiłem wcześniej trzech aplikacji
w Symfony w 1 projekcie i nie wiem czy generowanie wspólnego panelu dla wszystkich jest praktykowane i
czy nie będzie z tym problemów zważywszy na to, że przynajmniej jedna z tych aplikacji
będzie dosyć złożona. Czy w takim wspólnym adminie można łatwo wybrać którą aplikacją chce
się zarządzać?

Teraz zajmuję się tylko jedną z tych aplikacji, najbardziej złożoną. Ta strona dzieli
się na trzy główne działy, powiedzmy "dla mężczyzn", "dla kobiet" i "dla dzieci".
Każdy dział ma inne pozycje-sekcje w głównym menu (zgodnie z projektem) ale niektóre sekcje
będą bardzo podobne we wszystkich działach, niektóre będą nawet takie same (albo wręcz te same).

Sekcji w głównym menu będzie około 7 - 10 w zależności od wybranego działu. Na przykład
"archiwum", "newsy", "partnerzy". Po wybraniu sekcji z menu pojawia się poniżej menu
ostatniego poziomu, czyli w sumie trzecie w obrębie tej aplikacji.

I tak na przykład sekcja "archiwum" dzieli się na trzy hm... podsekcje - "o poprzednich edycjach",
"archiwum werdyktów" i "zdjęcia".
Część z tych podsekcji będzie stronami tekstowymi edytowanymi za pomocą np. FCK a niektóre
będą bardziej złożone. Na przykład "o poprzednich edycjach" może być jedną podstroną tekstową,
ale "archiwum werdyktów" wymagać dodawania w panelu administracyjnym osobno każdego
werdyktu do bazy i wyświetlania w postaci stronicowanej listy, etc. A więc w tym przypadku
każdy werdykt będzie obiektem. Podobnie z newsami. Decyzje co ma być jak zbudowane należą
do mnie, ale oczywiście ma być wygodnie dla klienta.

Posumowując:
Menu 1. poziomu: "dla mężczyzn", "dla kobiet", "dla dzieci".
"dla mężczyzn" -> Menu 2. poziomu: "archiwum", "newsy", "partnerzy", i kilka innych.
"archiwum" -> Menu 3. poziomu: "o poprzednich edycjach", "archiwum werdyktów", "zdjęcia".

Do tego wszystkiego będzie kilka działów takich jak "kontakt", itp.

Pytanie 2. główne: co tu powinno być modułem?
Na pewno nie pierwszy poziom czyli "dla mężczyzn", "dla kobiet", "dla dzieci" bo cóż to
za moduły. Drugi poziom jest lepszy, ale tak jak powiedziałem, na przykład w obu działach
"dla mężczyzn", "dla kobiet" mogą być sekcje "archiwum" ale mogą być zupełnie inne i dotyczyć
czegoś innego. Ostatni poziom podsekcji też nie jest dobrym kandydatem do bezpośredniego przełożenia na
moduły bo niektóre z tych podsekcji to pojedyncze strony tekstowe.

Rozumiem więc, że być może w ogóle nie powinienem się sugerować tym podziałem funkcjonalnym -
czym w takim razie? Może powinienem wyodrębnić wszystkie zwykłe strony tekstowe i zrobić
z nich moduł "artykuł" a następnie wszystko co pozostanie powinno być osobnymi modułami?

Tak jak powiedziałem, będę wdzięczny jeżeli ktoś przeczyta tego przydługiego posta i coś
mi zasugeruje smile.gif Z góry dzięki.

Jeszcze dodam, że to jest w sumie pytanie o filozofię: czy mnożyć moduły, robić osobny moduł dla wszystkiego co tylko się trochę różni lub może różnić, czy właśnie minimalizować liczbę modułów i starać się załatwiać wszystkie różnice za pomocą różnych szablonów?

Ten post edytował Foxx 16.04.2009, 23:56:40
Go to the top of the page
+Quote Post
krowal
post 17.04.2009, 06:06:45
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


Z tym podziałem na trzy app to mocno nietrafiony pomysł, szczególnie jeśli moduły w nich będą takie same lub podobne, na twoim miejscu zrobiłbym po prostu oddzielne layouty dla każdego z trzech działów głównych. A moduły rozwiązał bym jakoś tak:
- newsy
- static (strony statyczne)
- werdykty
- galeria (strony galerii, jakieś partiale do pokazania przy newsach itp)
- artykuły (jeśli potrzebujesz)

Do każdego modułu możesz sobie dodać akcję archiwum która pokaże Ci np starsze newsy, werdykty lub artykuły. W modelach musiałbyś też ustalić do którego działu należą (man, woman, kid), w adminie przy dodawaniu mógłbyś sobie wtedy ustalać do czego przypiąć nowy rekord itp.

pozdr.


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
Foxx
post 17.04.2009, 10:04:52
Post #3





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Dzięki za sugestie.
Jeżeli chodzi o te trzy aplikacje, to one nie mają wspólnych modułów, o wspólnych modułach dla trzech działów pisałem już w kontekście jednej z trzech aplikacji. Ale masz rację, jeżeli okażą się podobne to spróbuję zrobić tylko jedną aplikację.
Go to the top of the page
+Quote Post
phpion
post 17.04.2009, 15:26:45
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Może ten topic w czymś Ci pomoże. Wygląda mi to na bardzo podobny problem.
Go to the top of the page
+Quote Post
Foxx
post 17.04.2009, 19:28:09
Post #5





Grupa: Zarejestrowani
Postów: 896
Pomógł: 76
Dołączył: 15.11.2003
Skąd: Sosnowiec/Kraków

Ostrzeżenie: (0%)
-----


Dzięki, mniej więcej mi się wyklarowała struktura po waszych postach, po dłuższej analizie specyfikacji i po dopracowaniu modelu. Pozdrawiam.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 21.07.2025 - 17:15