1

私は、異なる時期に異なる言語で書かれたコードを 1 つのアプリケーションに統合するプロジェクトに参加しています。

私の作品は C++ から Java に移行しています。この質問へのコメントを読んだ後: https://stackoverflow.com/questions/587458/implement-mixin-in-Java私が取り組んでいるチーム。

バニラ Java を使用して C++ で Mixin だったものを実装する正しい方法は何ですか? 特に、一部のコントローラーがコントローラーの状態を使用するミックス アンド マッチ ロジックを持つ MVC タイプの設計がありました。コントローラーは Mixin を継承して、この機能をさまざまな順列で取得するため、直線的な継承パスはあまり意味がありません。

私が今考えることができる最善のことは、Mixin にあったロジックを含む一連のユーティリティ タイプ クラスであり、ユーティリティ クラスがその状態にアクセスできるように、参照として自分自身を渡しながらコントローラに機能を呼び出させることです。 . IMHOこれは本当に臭いので、もっと良い方法があることを願っています.

では、これをJavaで設計する正しい方法は何ですか?

4

1 に答える 1

1

本当にミックスインが必要な場合は、それらをサポートする(そして、Javaコードを使用してJVMで実行される)Scalaのような言語を使用できます。

そうでなければ、私は作曲します。これもきれいではありませんが、単純です。

于 2012-10-22T20:15:04.717 に答える