私は2つのクラスAとBを持っていると仮定します。クラスBは実際にWebサービスを消費し、応答を取得します。クラスBは実際にクラスAによって呼び出されます。クラスBのサービスから返された応答のヌルチェックを入れるか、クラスAの応答を返し、クラスAのヌルチェックを行う必要がありますか?これらのデザイン関連のものを読む正しい本はどれですか。Javaクラスの設計は、どこを気にしますか?
答えて
単一責任の原則(SOLIDのS)によると、Bの責任はサービスを消費するだけなので、Aで何らかの検証を行う必要があります。つまり、応答を使用する場所で、異なるバリデーションを持つ複数のAクラス(レスポンスデータを使用するクラス)を持つことができます。
あなたの質問にお答えしたいと思います。
PD:検証が
いいえ、それは問題ではない、私は私の質問を編集...問題は、サービスによって返される応答のnullチェックを行うかどうか、私はクラスBで行う必要がありますか私はちょうどクラスAに応答を返し、 A? –
私は質問を編集しました。私はあなたの質問に答えることを願っています。 –
しかし、それを行うと、複数のAクラスがあるとしたら、Bそのものでヌルチェックを行うと、A種のクラスのすべての場所で行うのではなく、コード行を節約できます。また、Bからnullを返すのは良い方法ですか?Aでnullポインタを引き起こす可能性があります。もしBでnullを世話していなければ、私はnullを返す前に注意を払う必要があり、nullpointer例外もしnullであれば.....これを決めるのに苦労しています –
- 1. このMySQLデータベースをどのように設計しますか?
- 2. このデータベースの設計はどこから始めますか?
- 3. どのiOSクラス/コードが磁気北を返しますか?
- 4. Java CollectionsのQueueクラスはどこにありますか?
- 5. これらのクラスを正しく設計する方法は?
- 6. std :: vectorをパブリックメンバーにすることなく、C++クラスをどのように設計しますか?
- 7. ドメイン駆動設計:ワークフローロジックはどこにありますか?
- 8. Java - entityExpansionLimit。どこでこれを設定しますか?
- 9. Delphiは設計時にプロパティ情報をどこに保存しますか?
- 10. Javaパッケージとクラスはどこにありますか?
- 11. Java APIクラス図はどこにありますか?
- 12. これはどのように設計するのですか?
- 13. 投稿者をJavaクラスのコメントでどのように設定しますか?
- 14. このスイングテーブルモデルはひどく設計されていますか?
- 15. どのように大規模な設計データベースを設計しますか?
- 16. C++アプリケーション用のJava GUI - これは良い設計ですか?
- 17. Eclipse Javaコンパイラ(javac)フラグはどこで設定しますか?
- 18. 計算(設計しない!)は、Java
- 19. ArgoUMLで設計する際にJava SDKのクラスを使用するには?
- 20. 私はJavaロボットを設計していますか?
- 21. Javaコンパイラはエラーを与えていない - 私はクラス設計
- 22. どのJava DOMラッパーが最も人気があるのか、または最も人気がありますか?
- 23. クラスの設計とは何か
- 24. 将来の変更を処理するjavaクラスの設計
- 25. このfirebaseデータベースを最小限のクラスで再設計するにはどうすればいいですか?
- 26. クラス設計では、ネストされたクラスは常に優れていますか?
- 27. テキサスホールデムの手履歴クラスをJavaで設計する
- 28. リレーションシップのクラス設計
- 29. これはどのようにして設計するのですか?
- 30. 気流がSparkにどのように接続され、気流のユーザーに別のアクセス権を設定することはできますか?
ヌルチェックを含んでトライ依存性注入の代わりに – emotionlessbananas
私はあなたはそれがある場合に行わ参照してくださいしたいと思い何 –
...ないのジまたは何か他のものについては、ヌルチェックを行うには良いデザインを求めています'ヌル'? – ChiefTwoPencils