Thread View: pl.comp.lang.c
1 messages
1 total messages
Started by Jacek Marcin Jaw
Sat, 03 Feb 2024 05:51
Jakie są dobre zasady programowania programów opartych na wtyczkach?
Author: Jacek Marcin Jaw
Date: Sat, 03 Feb 2024 05:51
Date: Sat, 03 Feb 2024 05:51
41 lines
2079 bytes
2079 bytes
Dzień dobry! (Mimo, że do świtu jeszcze prawie 2,5godz.) Problem jaki teraz chcę poruszyć to programowanie w C++ programów opartych o wtyczki. Tylko trik polega na tym, że są to programy zdarzeniowe czyli używające biblioteki takiej jak Qt. Model programu mam prosty i logiczny: Logiki prog.->Narzędzia prog.->Bibl. własne->Bibl. obce To co dla mnie jest kluczowe, to możliwość rozszerzania logik o wtyczki. Problem jaki tu występuje, to hazard wynikający z przechodzenia zdarzeń przez pętlę zdarzeń, która ma to do siebie że nie gwarantuje kiedy zdarzenie będzie obsłużone. Dlatego wygodny mechanizm sygnał->slot w przypadku wtyczek odpada (bo program staje się nieprzewidywalny). W klasycznym ujęciu problem jest rozwiązywany banalnie: przez tablice wsk. do f. (np. "tablice przerwań programowych" w M$ DOS). Tylko, że w C++ nie mamy dostępu do tablic f. wirtualnych. Jednak można sobie zdefiniować tablice f. C jako f. zwrotnych z góry określoną sygnaturą i je wywoływać z wtyczek. Wadą jest to, że styk miedzy prog. a wtyczką oparty jest nie na obiektach tylko na czystych f. C (co oznacza konieczność użycia globalnych zm. we wtyczkach). W tym przypadku do każdej logiki należało by dodać po jednej tablicy tych f. C na każde przewidziane działanie wtyczek. Z drugiej strony są szablony: Można sobie wyobrazić tablicę obiektów pewnego szablonu (sygnatury f.). I te obiekty mogą mieć albo wsk. do f. C albo wsk. do o. i f. (zgodnej z sygnaturą). Tu należy zadbać jedynie o prawidłowe sygnatury f. i operator porównania który jest konieczny dla f. tablicy removeAll(). To rozwiązanie jest dużo bardziej odlotowe od prostych tablic z f. C, ale ma tą zaletę, że było by obiektowo i bez zm. globalnych we wtyczkach. Pyt. są takie: 1. Czy macie jakieś inne pomysły na wywołania zwrotne z prog. do wtyczek? 2. Jak wasze prawdziwe prog. korzystają z wtyczek? 3. Jakbyście pisali nowy prog. oparty o wtyczki to które rozw. byście wybrali? Miłej sob. i nie.! Jacek Marcin Jaworski
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads