Wie implementiert man das Adapter Pattern in C++ für Embedded-Software?

In C++ für Embedded-Systeme kann das Adapter Pattern durch Vererbung oder Komposition umgesetzt werden. Hier ein einfaches Beispiel:

// Ziel-Interface
class ISensor {
public:
    virtual int readValue() = 0;
};

// Bestehende Klasse mit inkompatibler Schnittstelle
class LegacyTempSensor {
public:
    int getTemperature();
};

// Adapter-Klasse
class TempSensorAdapter : public ISensor {
private:
    LegacyTempSensor* sensor;
public:
    TempSensorAdapter(LegacyTempSensor* s) : sensor(s) {}
    int readValue() override {
        return sensor->getTemperature();
    }
};

Mit dem Adapter Pattern kann man also bestehende Treiberklassen an neue Interfaces anpassen – eine gängige Praxis in Embedded-Architekturen.

com

Newsletter Anmeldung

Bleiben Sie informiert! Wir informieren Sie über alle neuen Beiträge (max. 1 Mail pro Woche – versprochen)