![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 3 Dołączył: 15.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciał bym się tutaj od was dowiedzieć, a raczej sprawdzić waszą opinię, na temat tworzonej prze zemnie aplikacji (IMG:style_emoticons/default/smile.gif) Dał bym wam tutaj kod całej aplikacji, ale zhańbicie mnie za brak komentarzy (IMG:style_emoticons/default/biggrin.gif) Więc dam tutaj to o co mi najbardziej chodzi :0 bo zaraz muszę iść bo kupuję auto i jadę obejrzeć. Tak więc: Czy mój pomysł i wykonanie klasy Services jest jako tako dobrym pomysłem ? Proszę też podać opinie co by było lepsze Zawiera wszystkie moduły, które będą istnieć w aplikacji - jest to tak jak by klasa 'globalna' którą dziedziczę w każdym module i subapplikacji Tutaj klasa: http://pastebin.pl/98ea402f3821b5a688938600644705df Tutaj daję Controller - jest to klasa startowa aplikacji, zbiera i uruchamia wszystkie najważniejsze moduły, konfiguruje aplikację do przyjęcia subapp http://pastebin.pl/b0da971b8c165e15df693a8e6725edff Tak jak wyżej - dobry pomysł ? Tutaj pyt: Czy ładowanie sub aplikacji w taki sposób (klasa niżej ) jest dobre i praktyczne? http://pastebin.pl/47b3e9317425e238dfb8ced5485f9c97 Proszę o odp (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 14 Dołączył: 28.11.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Pierwsza klasa:
1. Niepotrzebnie jest statyczna, poza tym skoro używasz statycznych metod używaj static *typ* function zamiast *typ* function. 2. Metody takie jak Database, Router, Session itp. to dość dobry pomysł, ale lepiej jakbyś użył do tego jakiegoś kontenera (Poczytaj o DependencyInjection). Druga klasa: 1. "class Controller extends Services" - Nie powinno być takiego dziedziczenia, ty nie rozszerzasz serwisów, tylko z nich korzystasz/robisz na nich operacje - Przekaż obiekt Services poprzez konstruktor/metodę do obiektu Controller. 2. Nie zauważyłem byś gdziekolwiek przekazywał jakąkolwiek konfigurację, a to poniekąd zły znak. Trzecia klasa: 1. Ten sam błąd co w klasie wyżej, pkt. 1 2. Skoro korzystasz z jakiejś ścieżki kilkukrotnie to zapisz ją gdzieś do zmiennej i używaj w ten sposób. Poza tym lepiej byś tę ścieżkę przekazał jako argument / klucz konfiguracji, zamiast ustawiać na sztywno w klasie. 3. Do tworzenia obiektów przyda Ci się call_user_func_array lub ReflectionClass. 4. Porozdzielaj metode Run() na inne, wyspecjalizowane metody dla poszczególnych elementów ponieważ robi się bałagan. 5. Dane imho nt. modułu itp powinny zostać wcześniej sprawdzone (długość, czy to string itp) i dopiero później powinny być przekazane do Applications w celach sprawdzenia istnienia i utworzenia obiektu. Ten post edytował Dipter 22.06.2012, 16:59:44 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 08:25 |