問題タブ [null-object-pattern]
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.
java - 非ジェネリックなコンテキストで Guava Optionals を使用するには?
次の方法でグアバの Null-Objects を使用しようとしています。
メソッド display(..) を呼び出しているメソッドは次のようになります。
現在、次のコンパイラ エラーが発生しています。
私が見つけた唯一のコンパイルの回避策は、使用することです
それ以外の
非ジェネリックなコンテキストで Optionals を使用している場合、他に可能性はありませんか?
ruby-on-rails - Rails ビュー テストのモデルで特定の属性をモックするにはどうすればよいですか?
Railsビューのテストを書いています。ビューが次のようなものだとしましょう:
show.json.rep
id
ここで、それが生成する json をテストし、フィールドに興味を持ちたいと思います。
私のテストコードが次のように書かれている場合:
次のようなエラーが報告されます。
somefieldX
興味のないすべてのフィールドをモックしたくないので、次のことを試しましたas_null_object
:
今回は、そのエラーは報告されませんが、奇妙なことに、rendered
値はnull
!!
なぜ、どのように修正するのかわからないのですか?または、興味のある分野を提供できるようにする他の方法はありますか?
c# - 依存性注入と C# におけるガード句と Null オブジェクト パターン
コンストラクター インジェクションを使用すると、次のように依存関係がコンシューマーに注入されます (少なくとも、正しく理解できれば幸いです)。
IDependency に Null オブジェクト パターンを使用する場合、ガード句は必要ですか? それとも Null オブジェクトを注入するのは間違っていますか?
更新:明確にするために、次のようなクラスとインターフェイスがあると仮定しましょう。
次に、SomeConsumer からガード句を安全に削除して、次のようにすることはできますか?
null
または、注入されないかどうか確信が持てないため、ガード句を使用する必要がありますか?
ruby-on-rails - RailsのNullオブジェクトの命名規則?
Rails アプリケーションの場合: モデル オブジェクトにマップされる null オブジェクトに名前を付けるための命名規則はありますか?
例:
NullBlog
従来型ですか?
Avdi Grimm によるこの記事も、 Sandi Metz によるNothing is Somethingプレゼンテーションも、null オブジェクトの命名規則について言及していません。
android - RxJavaでNullObjectパターンを実現する方法
ええ、それは少し野心的に聞こえるかもしれませんが、私が達成したいことは次のとおりです。
クラスがObservable
それを正しく準備する (別の場所で作成して参照を取得する) のに時間がかかるため、別のクラスがそれを要求すると、参照がまだ null である可能性があります (nullpointer が発生します)。私が達成しようとしているのは、NullObject パターンに似ています。安全にサブスクライブできる空のオブザーバブル (null ではなく) を返し、Observable が作成されると、アイテムの放出を適切に開始します。
それを解決する 1 つの方法はPublishSubject
、クライアント クラスと ObservableHolder クラスの間のブリッジとして機能するものを作成することです。PublishSubject 参照は常にクライアントに返され、Observable
準備ができたらすべてのイベントをサブジェクトに転送します。それは良い解決策ですか?それとももっとうまくできるでしょうか?
@編集
私は自分のソリューションにとどまることにしました。クラスにラップした後、それで十分なソリューションだと思います。以下の回答に賛成しましたが、rx-java
実装に直接関係していないため、私の問題とは一致しませんが、プロキシパターンが役立つことを示唆しています。
ruby-on-rails - 設定されている属性に応じて条件付きのRailsインスタンスメソッド
モデルの保存時にオプションであるいくつかの属性を持つモデルがあります。
これらの属性を使用して計算を実行するいくつかのインスタンス メソッドがありますが、最初にそれらが nil でないかどうかを確認したいと思います。no method error nil nil class
私のコードをポイ捨てする以外に、.present?
これを行うためのより良い方法はありますか?
編集: これまでの私のコードは次のとおりです
チェックを実行するために立ち寄ると.present?
コードの臭いがするように感じます。null オブジェクト パターンを調べましたが、オブジェクトが存在するため、ここでは意味がないように見えますが、属性の一部はnil
c++ - 「'A' から 'B&' に変換できません
テンプレート メタプログラミングを使用してエンティティ コンポーネント システムを構築しています。Cannot convert from [base type] to [type user requested]&
またはCannot convert NullComponent to [type user requested]&
エラーが発生し続けます:
編集
これらのオプションは今のところ機能しているようです。
また
java - Null オブジェクト パターンを実装する方法
これまで、たとえば BST で null チェックを削除するなど、Null オブジェクト パターンを作成する手順は次のとおりであることをどこでも見てきました。
インターフェイス ノードを作成する
インターフェイス Node を実装する 2 つのクラスを作成します。1 つは real_Node になり、もう 1 つは null_Node になります。
これらのクラスを使用すると、ツリーの作成中に BST クラスで null チェックを削除できます。
ここで、これを行う他の方法があるかどうかを知りたいです。たとえば、クラスのみを使用して、インターフェイスなしで Null オブジェクト パターンを実装できますか。つまり、上記の手順 (1.) で Node インターフェイスの代わりに Node クラスを使用できますか?