答えて
第二の例では、はるかに悪いです。何かをシングルトンにすることは非常に難解です。それを使用するものはすべてこの実装に結び付けられており、それとは独立して実行することはできません。
シングルトンは、アプリケーション内の何かが呼び出すことができるグローバルなハードワイヤードなので、オブジェクトは依存関係を宣言しないため、何が依存しているかを知ることは困難です。詳細については、この記事のhttp://misko.hevery.com/2008/08/17/singletons-are-pathological-liars/を参照してください。
依存性注入フレームワークは、静的な参照やサービスロケータよりもオブジェクトを接続するための優れた方法を開発者に提供するために考案されました。コードの代わりにフレームワークによって強制されるシングルトン性を持たせることで、モックを簡単に置き換えることができます。
最初の例では、ホスト名を解決しようとするコンストラクタ呼び出しと静的メソッド呼び出しは、テストをより困難にします。しかし、getClientは、テストでオーバーライドできるインスタンスメソッドです。 2番目の例は、問題がより広いために悪化します。シングルトンを使用するものはすべてテストするのが難しいです。
Thxあなたの答えです。私はまた、コードでDIを使用するのが好きですが、私はしばしば他人のコードの第2の方法を見るので、私は質問があります。 –
- 1. フロー制御スライディングウィンドウの実装。静的キュー(配列)と動的リンクリストのどちらが優れていますか?
- 2. Java:どちらが構文的に優れていますか?
- 3. 静的なvarと渡すオブジェクトのパラメータの間でどちらが優れていますか?
- 4. MySQL DELETEとUPDATEのどちらが優れていますか?
- 5. java.util。*とjava.util.Scannerのうち、どちらが優れていますか?
- 6. PHP:静的は非静的より優れていますか?
- 7. どちらのIPhoneコントロールが優れていますか?
- 8. どちらが優れているかTransform:translateまたはPosition:absolute
- 9. どちらが優れていますか?
- 10. IonicとAppceleratorのどちらが優れていますか?なぜですか?
- 11. @Autowired Spring 3.0 - 静的Beanを作成しますか?
- 12. {%load static%}と{%load staticfiles%}:どちらが優先されますか?
- 13. EmberのステートメントとEmberのHTMLステートメントのどちらが優れていますか?
- 14. maven-nar-pluginとnative-maven-pluginのどちらが優れていますか?
- 15. Extent ReportsとTestNG htmlレポートのどちらが優れていますか?
- 16. 可読性の点でどちらが優れていますか?
- 17. チャットアプリケーションのGCMまたはソケットはどちらが優れていますか?
- 18. (Android)バンドルまたはアプリケーションのどちらが優れていますか?
- 19. 従来のASP - SQLステートメントの挿入 - どちらが優れていますか?
- 20. これらのうち、どちらが優れたPHP関数ですか?
- 21. 多くのENUMではどちらのアプローチが優れていますか?
- 22. WPF Rectangle vs Border:どちらがパフォーマンスに優れていますか?
- 23. 最初に読み込まれるのはどちらですか?静的なブロックか春の豆?
- 24. 静的ブロックと静的フィールドの違いは何ですか?
- 25. どちらのシンプルなREST URLパターンがより一般的であるか、より優れていますか?
- 26. Kotlinのクラスなしで、コンパニオンオブジェクトと楽しいことのどちらが優れていますか?
- 27. zendのセッションマネージャとセッションコンテナの違いは何ですか?どちらが優れていますか?
- 28. メモリ節約:静的変数のほうが優れていますか?
- 29. どちらのメタタグが優先されるのですか
- 30. WF4.0のどちらが優れたアーキテクチャですか?
あなたのユースケースが「良い」のメトリックであるかわかりません。しかし、静的とは、単一のクライアントを意味します。春の豆をプールすることができます。常に1人のユーザーがいない限り、1つのデータベース接続は必要ありません。 – duffymo
StackOverflowを使用すると、質問にコードを投稿できます。コードのスクリーンショットを投稿しないでください。特に黒の背景ではありません。私はラップトップ画面をある方向に傾けて頭を動かすと、首が痛くなります。また、スクリーンショットは、右側のコード行のいずれかを切り捨てます。 – ajb
Thxあなたの提案は、私はあまりにもコードをコピーしてフォーマットするのが面倒です... –