問題タブ [fluent-interface]

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.

0 投票する
4 に答える
473 参照

c# - なぜFluentInterfaceを使用するのですか?

従来のプロパティと比較すると、それを使用することの大きなメリットは何ですか?

インスタンス名の繰り返しがなくなったことは知っていますが、それだけですか?

0 投票する
1 に答える
168 参照

castle-windsor - Castle Windsor に現在登録されているコンポーネントのすべてのキーを取得するにはどうすればよいですか?

主な質問はタイトルにありますが、背景は次のとおりです。

コンポーネントを登録するのに怠惰な方法を選んだので

今私がしようとすると

Windsor は、同じキーを持つコンポーネントが既に存在することを教えてくれました

しかし、その行をコメントアウトすると、Windsors は CompositionBinder Now の解決に失敗します。

その後、それは動作します。そこで、コンテナに登録されたコンポーネントとキーの種類を把握するためにエンジンを覗いてみたいと思います。

Castle Windsor に現在登録されているコンポーネントのすべてのキーを取得するにはどうすればよいですか?

0 投票する
4 に答える
5327 参照

c++ - 流暢なインターフェースとは何ですか?

私は最近この表現に出くわしました-しかしウィキペディアを読んでもそれは私にとってあまり明確ではありませんでした-私はまだそれを理解していません:

  1. それのポイントは何ですか
  2. それは実際にどのように使用されていますか(つまり、日常の作業/構築システムでコーダーにどのように役立ちますか)?

[編集] ウィキペディアの記事C++の例は長すぎて、流暢なインターフェースの議論を単純なGlutアプリの例と混同しています。誰かが流暢なインターフェースを説明するクラスのSUCCINCTC++の例を提供できますか(たとえば、そのような影響は通常のC ++インターフェースとどのように異なりますか)?

0 投票する
3 に答える
249 参照

java - UIコンポーネントを生成する

私は何日も可能かどうかを考えようとしていましたが、失敗しましたが、おそらく可能です(可能であるはずだと思います)。

Swing階層と同様のUIコンポーネントがいくつかあるとしましょう+流暢なインターフェースを使用します流暢なインターフェース

ジェネリックを使用してそのようなものを書くことができるようにすることは可能ですか?

これらの呼び出しをリンクできるようにするには、setNameはComponentではなくTitledPanelを返す必要があります。

これは単純な例ですが、T型のオブジェクトを取得したら、スーパークラスの流暢なメソッドを呼び出してT型を返すという考え方です。

編集1:メソッドをオーバーライドして共変型を返す部分を除外するのを忘れました:)可能であれば、単純なジェネリックスだけが必要です。

0 投票する
1 に答える
142 参照

.net - インターフェイスの継承: メソッドが表示されない!

しばらくの間、私を悩ませてきたインターフェイスの継承の問題があります。意味がないようで、根本的な何かが欠けているとしか結論付けられません。

概要

以下のコードは、ORM ツールの流暢なインターフェースの一部です。データベースからデータをプルするための SQL に似た構文を提供します。問題を理解するためにすべての相互関係を完全に理解する必要はありません。本当の問題は EndClause メソッドです。

EndClauseの問題

EndClause というメソッドがあり、IOrderQueryRoot という 1 つの予想される場所に表示されません。私の知る限り、EndClauseというメソッドを持つ2 つの異なるインターフェイスを継承しているため表示されるはずですが、IOrderQueryRoot を実装するオブジェクトを使用すると、IntelliSense で EndClause が表示されません。

以下に、実装の詳細をいくつか示します。

まず、IOrderQueryRoot (EndClause を含む) を見ると、IHasOrderLogicalOperators と IHasOrderFields (EndClause も含む) を継承していることがわかります。

この問題は、EndClause メソッドが継承チェーンの異なる場所から IOrderQueryRoot に 2 回入るという事実と関係があるに違いないと思います。そのように機能する必要があります。

私が実際にインターフェイスを使用する場所を見たいと思うかもしれないので、私が使用しているコードは次のとおりです。

この時点で、インターフェイスは正常に動作しています。このメソッドを削除すると、VS は両方の EndClause メソッドを実装する必要があると叫ぶでしょう。問題は、「最終開発者」がインターフェイスに対して実際にコードを記述しようとしているときの 1 レベル下にあります。

何か思いついたら教えてください -- これは長い間私を夢中にさせてきました!

0 投票する
7 に答える
6671 参照

c# - C# での流暢なインターフェイスと継承

例によって問題を示します。流暢なインターフェースを持つ基本クラスがあります:

および子クラス:

問題は、メソッドの戻り値の型が FluentPerson (FluentCustomer ではない)であるため、呼び出すときに最後にcustomer.WithAccountNumber("000").WithFirstName("John").WithLastName("Smith")追加できないことです。.WithId(123)WithLastName()

この問題は通常どのように解決されますか?

0 投票する
1 に答える
253 参照

asp.net - 流暢な Web.Config

web.config を除いて、 Fluent-Nhibernateプロジェクトに似たような試みをした人はいますか? これはもっともらしいですか?

0 投票する
3 に答える
248 参照

php - PHP OOPメソッドのセットを使用してmysqlクエリを作成するにはどうすればよいですか?

私はこのようなことをしたいです:

すべてのメソッドが毎回その順序で呼び出されることが確実な場合、それは簡単であり、各メソッド呼び出しでオブジェクト自体のインスタンスを返すことができるため、クエリがビルドされ、最終的にorderByメソッドで実行されます。ただし、クラスで次のようなクエリも実行できるようにする必要があります。

次のコードは、最初のコード例(つまり、すべてのメソッドが呼び出された場合)では機能しますが、getRowsの後にメソッドのみが呼び出される2番目のコード例では機能しません。それ自体のインスタンスのみを返します。

すべてのマイナーエラーを無視します-(確実に機能するかどうかは確認しませんでしたが、機能するはずです)。どうすればこれを達成できますか?

0 投票する
1 に答える
233 参照

c# - JQueryタコナイトC#ヘルパー

JQueryTaconiteプラグインの機能をラップするヘルパークラスを作成しています。プラグインを使用すると、1回のAjax呼び出しで複数のDOM更新を処理できます。

このクラスを使用すると、クライアントに返送される適切なxml構造を構築できます。私はこの機能を流暢なインターフェースでラップしようとしています。基本的な例は次のようになります。

私が心配しているのはこれです。これを呼び出した後、どのような構造が作成されると思いますか。

構築することへの期待はありますか:

または:

問題は、コンテキストが新しく追加されたコンテンツに移行することを期待していますか、それともセレクターに留まると期待していますか?

更新 問題のプロジェクトはcode.googleにアップロードされます。お役に立てば幸いです。

入力ありがとうございます!

0 投票する
2 に答える
1281 参照

c# - FluentAPIとメソッドチェーンスタイルの使用法

流暢なAPIに対してプログラミングするとき、または単にメソッドチェーンを使用するとき、私は主に次のようなスタイルを見てきました。

次のように、行の終わりではなく行の先頭にドットを配置する理由は何ですか。

それとも、チームがコンセンサスを作るのは単なるスタイルのことですか?