-
Data: 2011-09-17 15:02:03
Temat: Re: Modułowość programu - założenia
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 16.09.2011 22:28, Maciej Sobczak pisze:
> On Sep 16, 11:33 am, Michoo<m...@v...pl> wrote:
>
>>> To podej cie ma sens tylko wtedy, gdy b dzie istnia mniej lub
>>> bardziej otwarty rynek plugin w, czyli gdy u ytkownicy b d mogli
>>> pozyska pluginy niezale nie od Ciebie.
>>
>> Z tym si nie zgodz .
>> Ma to sen tak e wtedy, gdy r ni u ytkownicy b d u ywa r nych
>> podzbior w funkcjonalno ci dostarczanej przez jednego dostawc . Nie
>> trzeba wtedy dla ka dego z 50 klient w linkowa osobnej wersji
>> aplikacji, tylko wys a im odpowiedni zestaw plugin w (a nawet sami mog
>> sobie taki zestaw wyklika ).
>
> No właśnie - mogą sobie wyklikać. Tak, jak się klika
> konfigurację jądra dla Linuksa albo FreeBSD. Coś jak zamawianie pizzy
> - wybierasz składniki a pizzaiolo przy piekarniku lepi wszystko tak
> jak sobie wybrałeś. Nie widzę tu problemu z linkowaniem statycznym.
Ja też nie widzę specjalnego problemu - albo pakujemy wybrane pliki .so,
albo gcc na wybranych plikach .a.
>
> Praktykuje się również inne podejście - wszystko zlinkować co się da i
> dostarczyć klientowi cały produkt, ale tylko niektóre jego moduły są
> aktywne, reszta jest nieaktywna i aktywuje się ją później.
Tylko co w sytuacji gdy nie da się tego zlinkować bo mamy plugin X i
jego wersję dla firm A,B różniące się kilkoma szczegółami, których
wprowadzenie do mainline nie jest ani celowe ani korzystne?
> Wadą jest
> to, że się bierze większy pakiet na początku ale zaletą jest to, że
> późniejsza aktywacja modułów w ogóle nie musi nawet wymagać połączenia
> przez net. I to się praktykuje, nawet często.
Ale też aktualizacja wymaga konstruowania binarnych łat albo pobierania
całości na nowo, nie można wysłać po prostu zmodyfikowanej jednej
biblioteki. A z drugiej strony nie ma problemu - możemy klientowi
dostarczyć na wstępie cały zestaw pluginów a potem aktywować je za
pomocą kluczy.
> Oczywiście chętnie usłyszę jakiś przykładowy kontrargument, tylko
> praktyczny.
Załóżmy, że mamy aplikację obsługującą kilkaset żądań na minutę. W
przypadku odpowiednio rozwiązanego systemu pluginów możemy oznaczyć
plugin jako przeznaczony do wyładowania(zostanie wyładowany gdy skończą
się wszystkie połączenia), załadować nową wersję i mieć aktualizację bez
downtime.
>
> Natomiast jednego jestem pewny: jeżeli pozwolisz użytkownikom
> swobodnie ładować pluginy,
Tu nie chodzi o swobodne ładowanie a o wygodne z punktu widzenia
programisty zarządzanie podzbiorami funkcjonalności.
Można by powiedzieć, że kolejny krok w kierunku lepszej enkapsulacji.
Przykład:
w pewnej, rzadkiej sytuacji moduł A używał foo z modułu B, foo zostaje
zmodyfikowana (działa teraz w sposób niekompatybilny) i dopiero na
etapie szczegółowych testów (albo dopiero w praniu) wychodzi zależność
A->B. Gdyby to były pluginy to komunikowały by się po swoich publicznych
interfejsach i byłoby wiadomo od początku, że specyfikacja foo jest jego
składową.
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 17.09.11 21:40 Maciej Sobczak
- 18.09.11 07:42 Jacek Czerwinski
- 18.09.11 08:12 Artur Muszyński
- 18.09.11 08:32 Jacek Czerwinski
- 18.09.11 08:59 Patryk Włos
- 18.09.11 09:31 Robert Winkler
- 18.09.11 12:49 Paweł Kierski
- 18.09.11 13:31 Jacek Czerwinski
- 18.09.11 15:55 A.L.
- 18.09.11 16:21 Waldek M.
- 18.09.11 16:59 Lukasz
- 18.09.11 21:35 R. P.
- 20.09.11 22:30 Edek
- 20.09.11 23:30 A.L.
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-26 zapora Zagorze
- 2024-12-26 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2024-12-26 Warszawa => Specjalista Bezpieczeństwa Informacji <=
- 2024-12-26 Wrocław => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-12-26 Wrocław => Programista Full Stack (.Net Core) <=
- 2024-12-26 Kraków => Software .Net Developer <=
- 2024-12-25 Wrocław => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-25 Warszawa => Sales Assistant <=
- 2024-12-25 Kraków => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-25 Lublin => System Architect (Java background) <=
- 2024-12-25 Szczecin => Specjalista ds. public relations <=
- 2024-12-25 Wrocław => Key Account Manager <=
- 2024-12-25 Kraków => Full Stack .Net Engineer <=
- 2024-12-25 Kraków => Programista Full Stack .Net <=
- 2024-12-25 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=