3

総労力を最小限に抑えるために、2 つのプロジェクト (1 つは C#、もう 1 つは Java) を並行して開発するには、どのような主流のフレームワーク、パターン、およびツールを選択しますか? (SCC、単体テストなどの交換可能または同等のツールの明らかなケースは無視してください。また、汎用の広範な RDBMS サポートを想定してください。)

「主流」とは、聞いたことのないテストされていないものを使用したり、実装してサポートするために難解なスキルが必要なために、一般的に市場が結果を無視しないことを意味します。

広く適用可能な戦術的なビジネス アプリケーションを想定します。

4

5 に答える 5

3

db4oは、 sharpenと呼ばれる社内ツールを使用して、1 つのソース リポジトリ (Java だと思います) を維持し、それを自動的に C# に変換します。

彼らがブログ投稿で言うように:

夢を見る前に:シャープンは「魔法の杖」ではありません。ボタンを押すだけで任意の Java アプリをフィードし、実行中の .NET バージョンを受け取ることを期待しないでください。翻訳プロセスでは、Java 側でいくつかの設計上の妥協が必要になります。また、.NET コードの一部を手作業で作成し、変換されたソースに統合する必要があります。

しかし、それでもかなりクールなプロジェクトです。また、新しいプロジェクトに最適だと思います。GPL の下でリリースされていますが、ダウンロードするにはdeveloper.db4o.comに登録する必要があります。


編集:これもブログ投稿の例です

于 2008-12-03T23:56:46.953 に答える
1

それは大変です。両方のプラットフォームに移植された利用可能ないくつかの優れたライブラリがありますが、フレームワークに関しては、あまり共通性がないようです。

私がここでSOで得たドリフトは、.NETの世界では会社のラインからあまり逸脱していないということです。Javaの全員がEJB、JSF、およびJNDIのみを使用し、Guice、Struts、またはHibernateを思い付くことはなかったかのようになります。

可能であれば、別の方法を取ります。同じシステムを並行して開発する代わりに、1つのシステムを開発し、その周りにラッパーを配置して、他のプラットフォームをサポートします。これの欠点は、他のプラットフォームがプライマリに遅れをとる運命にあることです。たとえば、Monoです。この欠点は、Spring.netやGuice.netなどの一部のライブラリ自体のポートにも当てはまります。

または、独自のわさびを発明することもできます。

于 2008-12-03T23:23:54.133 に答える
1

Mainsoftアプリケーションについて良いことを読んだことがありますが、自分で使用する必要はありませんでした。

于 2008-12-04T00:23:50.143 に答える
0

プロジェクトの規模に応じて、次のテクノロジとアプローチを提案します。

  1. Java と C# の UI は非常に異なるため、両方のプロジェクトの UI の XML 表現を作成します...そして、次の 2 つのオプションのいずれかを決定します。共通の XML (これは何らかの方法でビルド プロセスと統合され、プロセス全体が自動的に開始される可能性があります) b) どちらの場合も UI の動的生成 (おそらく実現するのは難しいでしょう)

  2. 両方のプロジェクトのアーキテクチャを類似させるには、Spring と Spring.NET を使用します。

  3. また、多くの類似点を引き出すために、NHibernate と Hibernate を決定します
于 2009-03-02T17:49:56.453 に答える
0

Java と C# を並行して開発する理由は何ですか?

Java と J# を使用できます。唯一の問題は、J# が Java 1.4 レベルにとどまっていることです。そのため、次の 2 つの選択肢があります。

  • 列挙型、ジェネリック、for-each などの凝ったものは使用しないでください。
  • retroweaver などのツールを使用して 1.5 を 1.4 に変換します

このようにして、Java と .NET で適切に動作する中規模のアプリケーション (約 80 クラス / 30.000 行) の構築を完了しました。

私の知る限り、J# によってコンパイルされた Java クラスは、他の .NET バイトコードと同様の .NET バイトコードであり、C# で使用できます。ただし、コア クラスを 2 回コーディングする必要はありません。

于 2009-03-02T14:02:10.497 に答える