問題タブ [code-design]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
design-patterns - サービス層メソッドはインスタンスまたは ID を想定する必要がありますか?
この質問は、Grails アプリケーションでの作業から生じましたが、レイヤーで開発されたほとんどすべての Web アプリケーションに当てはまります。簡単な例を次に示します。
これらのオプションのいずれかが、他のオプションよりも優れていると文書化されていますか?
c# - c# での抽象クラスの null 非許容メソッドの null 許容実装
私は3つのクラスを持っています。A というインターフェイスと、A を実装する B および C。また、B には C のインスタンスがあります。A のメソッドを null にすることはできません。ただし、C は時々 null を返すことがあります。クラス B は C インスタンスのメソッドをチェックし、C の戻り値が null の場合は、自己値 (B からの値) を返します。
パフォーマンス上の問題があるため、例外をスローしたくありません。オーバーライド クラスの型を nullable に変更できないため、C クラスを実装するにはどうすればよいですか?
dll - CodeUI - VS2010 で CodedUI テスト用の一般的なライブラリを作成するには?
コード化された UI テスト用の一般的なライブラリを作成する方法を理解しようとしています。ブラウザの起動、ログイン、ページへの移動、HTML リンクのクリック、ブラウザの終了などの一般的な操作があるとします。これらのアクティビティはすべて、さまざまなテスト ケースで使用できます。したがって、単一のテストごとにこのオプションを何度もコーディング (記録) することはありません。テストごとにこれらすべての一般的なアクションを記録すると、リンク/アイコン/タイトルが変更されたときに、メンテナンスが悪夢になります。では、すべてのテストがそれを参照して共通のアクティビティに使用する共通ライブラリ (DLL に似たもの) を作成するにはどうすればよいでしょうか?
oop - 返されたインスタンスをダウンキャストして、返されたクラス型を介して公開されていない機能を取得することはお勧めできませんか?
これが基本的なシナリオです。メソッドは型 A のクラスを返しますが、コードの内部動作を調べた後、実際には B (A のサブクラス) を返すと想定しても安全であることがわかります。このようなことをすることは有効ですか?または、(少なくとも)保護されたデータにアクセスしているため、それを強く思いとどまらせますか?
メソッドを実装するこのコードも維持しないと仮定します。つまり、ソフトウェアは、この (十分に確立された) メソッドの別の実装で出荷される可能性があります。
回答は徹底してください。
java - Java Swing プログラムでの SwingUtilities.invokeLater() メソッドの使用に関する疑問
私はJava Swingを勉強していますが、読んでいるこの簡単なコードチュートリアルに関連して疑問があります:
ロジックは非常に単純です。JFrame Swing クラスを継承するSimpleExampleクラスがあります。したがって、SimpleExampleはトップレベルのコンテナーになります。
このクラスにはmain()メソッドも含まれていますが、今では 2 つの疑問があります。
1) main() メソッドでこのコードを実行する理由:
SwingUtilities クラスでinvokeLater()メソッドを呼び出し、新しい Runnable オブジェクトを渡します。
私が知っているドキュメントを読むと、アプリケーションを Swing Event Queue に配置する方法になります。すべての UI 更新が同時実行セーフであることを確認するために使用されます。
理解するのに問題があるのは、それがどのように実装されているかです。
invokeLater()メソッドの入力パラメーター内で、次の「もの」を渡します。
これは何ですか?何を表す?そしてそれはどのように機能しますか?
TNX
アンドレア