これは左翼手ではかなりおかしいかもしれませんが、この膨大なクラスのセットを実装する前に、質問する必要があります。
基本的に、私は特定の軍事メッセージ形式をオブジェクトにデコードするバイナリメッセージパーサーを作成しています。問題は、文字通り何百もの異なるメッセージタイプがあり、それらが互いにほとんど共通点を共有していないことです。したがって、これを実装することを計画している方法は、何百もの異なるオブジェクトを作成することです。
ただし、メッセージ属性に共通点はありませんが、それらをデコードする方法はかなり単純で、パターンに従います。そのため、メッセージタイプごとにすべてのオブジェクトとデコードロジックを生成するコードジェネレーターを作成することを計画しています。
本当に素晴らしいのは、何らかのスキーマに基づいてオブジェクトを動的に作成する方法があった場合です。必ずしもXMLである必要はありませんが、XMLの操作は非常に簡単です。
これはC#で可能ですか?
インターフェイスを次のようにしたいと思います。
var decodedMessage = MessageDecoder.Decode(byteArray);
MessageDecoderがメッセージのタイプを把握し、適切なオブジェクトを返す場合。おそらく、MessageTypeプロパティなどを実装するインターフェイスが返されます。
基本的に私が疑問に思っているのは、MessageTypeプロパティを実装するMessageというオブジェクトを1つ持つ方法があるかどうかです。そして、MessageTypeに応じて、Messageオブジェクトはどのタイプのメッセージにも変換されるため、これらすべてのメッセージタイプの作成に時間を費やす必要はありません。