![]() |
Tematy na forum Pro mogą zakładać jedynie moderatorzy. W otwartych tematach może pisać każdy, kto ma coś fachowego do powiedzenia. Wszystkie posty nie wnoszące nic do tematu będą natychmiast usuwane, a ich autorzy dostaną ostrzeżenie.
Jeśli uważasz, że jakiś temat jest warty dyskusji na tym forum, zgłoś go w temacie Propozycje.
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
Były już długie dyskusje o MVC, jeszcze dłuższe o budowie jądra... Proponuje by rozpocząc dyskusje na temat, jak w naszej aplikacji umożliwić programiście piasnie dowolnych rozszerzeń. Chodzi mi o Pluginy. Niektóre skrypty (phpBB) rozwiązują to na zasadzie zwykłej edycji kodu, inne (WordPress) udostępniają specjalne API. Jak Wy widzicie budowe takiego systemu? Powiesz szczerze, że nigdy nad takim czymś nie myślałem i nie robiłem nic w tym rodzaju więc w pierwszym poscie nie opisze swojego sposobu, bo go po prostu nie mam. Licze na Waszą inwencję i na to iż temat się przyjmie :] Czyli podsumowując: Jak stworzyć dobre API dla Pluginów. -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 866 Pomógł: 32 Dołączył: 2.06.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Vengeance @ 2005-11-22 16:37:41) A co jeśli chcemy napisać plugin do pluginu będącego pluginem innego pluginu naszej aplikacji? ![]() Tutaj chyba taki pattern jak Decorator by dał radę. Moim zdaniem nie da się zaimplentowac jakiegoś generalnego API dla pluginów. Jeden moduł służący jako kontroller pluginów który nie pozwoli m.in używać dwóch różnyych pluginów robiących to samo ale w inny sposób. + Bardzo przejzysty kod (oczywiście wszystko obiektowo) z bardzo jasnym rozdzieleniem częsci protected od private każdej klasy. + Pluginy jako rozszerzenia danych klas (extends) zastepujące dane klasy (ichh funkcje w kodzie i wywołania) ALBO (co jest chyba ciekawsze) Plugin jako Decorator tylko że ttu z implentacją będzie bardzo trudno ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2024 - 08:16 |