チャート生成プロジェクトには、2つのクラスがあります。1つはBitmapChartと呼ばれ、もう1つはVectorChartと呼ばれます。それらのプロパティはすべて同じであり、同じメソッドを持っています(ただし、実装は異なります)。例外が1つあり、それはGenerate()関数です。BitmapChartオブジェクトの場合はStreamを返し、VectorChartオブジェクトの場合はXmlDocumentを返します。
最初は、継承を使用する必要があると思いました。どちらも「チャート」であり、同じプロパティとメソッドを共有しています。しかし、リターンタイプが異なるため、ポリモーフィズムは不可能であることに気づきました。
コードをよりエレガントにするために欠けているオブジェクト指向の原則やデザインパターンはありますか?