シリアルポート経由で通信インターフェースを書きたいです。(Qt を使用)
シリアルポートを操作するためのインターフェイスを提供する QSerialPort クラスがあります。QSerialPort クラスから QMySerialPort を継承し、構成ポートにいくつかの機能とダイアログ ウィンドウを追加しました。
ここで、2 つのプロトコル クラスを作成したいと思います。1 つ目 - 低層クラス、sendPacket、parseData メソッドなど。2 つ目 - 高層: setDeviceID、getDeviceID、onPayload など。
どうすればいいですか?最初に頭に浮かぶのは、QMySerialPort と 2 つのプロトコル層クラスのオブジェクトを含む QSerialInterface メタクラスを作成することです。そして、それらの間に何らかの接続を実装する必要があります。
そのような:
プロトコル クラス: void setPort(QSerialPort *port) { m_port = port; }
sendPacket メソッド: m_port->send(local_data);
しかし、私はこのアプローチは惨めだと思います。あなたはなにか考えはありますか?ここでデザインパターンを使用する必要がありますか?