Cześć,
Mój program ma podział na cześć "core" i "app". Chciałbym, żeby moduł core zawierał pewną strukturę klas. Podam tutaj prosty przykład z życia codziennego, żeby wiadomo było o co chodzi.
W module "core" ma znajdować się np. klasa "samochód", która wewnątrz ma klasy np "silnik". Coś w stylu:
Moduł "core":
class Samochod {
private:
Silnik* silnik;
public:
Silnik* getSilnik() {
return silnik;
}
void setSilnik(Silnik* newSilnik) {
silnik = newSilnik;
}
}
Tak więc samochód ma możliwość podmiany silnika. I to znajduje się w module "core".
Teraz moduł "app" powinien korzystać z biblioteki "core" tak, by do stworzonego w "core" obiektu klasy samochód podać swój własny silnik np.
Moduł "app":
Samochod* samochod = core.getSamochod();
Silnik* silnik = new SuperSilnik();
samochod->setSilnik(silnik);
Gdyby "core" było zwykłą bibliotekę *.lib nie byłoby problemu. Pytanie tylko, czy "core" może być biblioteką "dll"? Czy wówczas tego typu styl programowania byłby w miarę łatwy do osiągnięcia? Czy do dll też można w ten sposób przekazywać wskaźniki z aplikacji, która z niego korzysta i na ile jest to trudne do zrobienia? Pytam, bo nie mam w ogóle doświadczenia z dll.