5

はい、インタビュアーがC / C++アプリケーションにJava-swingGUIを使用していると言ったとき、私は少し驚きました。私は興味があり、実際にこれらをどのように統合するかを彼に尋ねました。彼の答えは「メッセージングを通じて」でした。面白い!ええと、私はこの種のアプローチに不慣れであり、そこにある企業が本当にこの種のデザインを使用しているかどうかに興味があります。はいの場合、この設計には大きな利点がありますか?このデザインがどのようにうまく機能するかを理解するのは少し難しいです。参考文献があれば共有してください。

参考までに、この製品はデータバックアップベースのアプリケーションです(Linux / Unixプラットフォーム上にある可能性があります)。ありがとうございました。

履歴書

4

4 に答える 4

3

It is hard to tell if this is a good design without more information about the application's requirements.

Another thing to consider is that sometimes interviewers will suggest strange designs to see how candidates react. I'll typically do this when I'm hiring for a role that isn't a personal competency of mine, but where I've had experience (usually f'ing things up). My goal is to see if the candidate is any better at solving the problem than me! Bad candidates will slavishly accept my poor solution. Better candidates will immediately suggest a better solution. Best candidates will compare and contrast my weak solution with their better solution and explore when each option makes sense.

I would guess that the Java front end was selected for portability reasons. I would argue for a browser-based interface to accomplish those same goals, but maybe their UI/UX people really loved Java.

于 2011-10-20T21:52:08.093 に答える
1

それは実行可能/OKのアプローチであり、私が2005年から2006年に請負業者として働いていたときに、非常に大規模な(そのようなものがある場合はフォーチュン20)会社で使用されているのを見ました。

理由を尋ねると、次のように言われました。

  1. Linux GUIが必要な場合、java/SWINGは立派な選択です。また、作業が必要なJava開発者もいたと思います。
  2. C ++ / Cには、パフォーマンスが重要な大規模なコードベースがありました。
  3. 彼らはすでにメッセージングを広範囲に使用しており、そのためのライブラリを持っていました。
  4. メッセージングインターフェイスは、開発に費用がかかりますが、チームがテストプログラムを作成できるようにします(本番GUIをPythonスクリプトに置き換えるなど)。

とはいえ、QtとGTK / Gtkmmは非常に優れたGUIフレームワークですが、これらを使用しないのはなぜですか?

于 2011-10-20T22:29:49.887 に答える
1

なぜ最初に C++ 関数を呼び出さなければならないのかという制約があり、その上にクライアント要件が分散していた可能性があります。メッセージング システムを構築し、サーバー側で C++ とやり取りするソリューションをどのように開発しますか。結局のところ、これは実用的なソリューションです。サーバー側は C++ で記述されているため、UI を C++ で構築する必要があるとは思いません。ソリューションを実現するためにさまざまなテクノロジを組み合わせる必要がある場合があります。

于 2011-10-20T22:18:59.100 に答える