問題タブ [composition]

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 投票する
3 に答える
1751 参照

haskell - フィルター/マップ構成の問題 Haskell

チュートリアルでこの質問を受けましたが、どうすればよいかわかりません。


filter p . map f = map g . filter h
が常に成り立つようにするには、p と f に関して g と h をどのように定義する必要がありますか?

正しい方向へのポインタは大歓迎です。

0 投票する
5 に答える
41683 参照

c++ - 他のオブジェクトを含むクラスの C++ 暗黙的コピー コンストラクター

自分で実装しない場合、コンパイラがデフォルトのコピーコンストラクタを提供することがあることを私は知っています。このコンストラクターが正確に何をするのか混乱しています。宣言されたコピー コンストラクターを持たない他のオブジェクトを含むクラスがある場合、どのような動作になりますか? たとえば、次のようなクラスです。

今私がこれを行うと:

デフォルトのコピーコンストラクターは何をしますか? のコンパイラ生成のコピー コンストラクターはFoo、 のコンパイラ生成のコンストラクターを呼び出してBarをコピーbarBazますか?

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

windows - デスクトップ コンポジションが有効な場合、ダブル バッファリングは必要ですか?

デスクトップ コンポジションが有効になっている場合でも、ダブル バッファリングは必要ですか?

Microsoft のアプリケーション互換性ガイド:

グラフィカル デバイス インターフェイス (GDI)

Windows Vista および Windows Server 2008 より前は、ウィンドウ ハンドル (HWND) が画面に直接描画されていました。これには一定の利点がありましたが、Windows がトップレベル ウィンドウを表示および管理する方法は制限されていました。Windows Vista および Windows Server 2008 では、すべての最上位ウィンドウがオフスクリーン ビットマップ (WS_EX_LAYERED と同様) にレンダリングされ、デスクトップ ウィンドウ マネージャーが画像を組み合わせてデスクトップを描画します。

すべてのレンダリングがオフスクリーン ビットマップに対して行われるようになりました。

ウィンドウはオフスクリーン ビットマップにレンダリングされます

これは正しいです?

私が尋ねる理由は、標準のペイント サイクル中にまだちらつきが見られるためです。

  • WM_ERASEBKGND
  • WM_PAINT

デスクトップ コンポジションが有効になっている場合:

代替テキスト

私はへの呼び出しの間にそれを想定していたでしょう

すべての描画がバック バッファーで行われることを確認します。

ウィンドウはオフスクリーン ビットマップにレンダリングされます

一方、フロント バッファは影響を受けません。

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

oop - 車のオブジェクト (およびエンジンなどのパーツ) を has-a (構成) でモデル化するか、is-a (継承) でモデル化するか?

オブジェクト Car を含むクラス ライブラリを開発しています。

ジレンマは、車自体が登録番号などのフィールドを持つクラスになり、車に関するその他の一般的な情報になることです。

しかし、車にはエンジンやシャーシなどがあります。これらのオブジェクトもモデル化する必要があります。それらは車に埋め込まれたクラスであるべきですか? そうでない場合、埋め込みクラスの使用シナリオは何ですか?

コンポジションは「の一部」であることを学んだので、別のクラスをモデル化し、たとえば車のフィールド レベルでエンジン タイプを使用してこれを実現できます。ただし、ctor で渡されるタイプとの「has a」関係である「aggregation」も適用されます (車にはエンジン「has an」)。

どちらに行けばいいですか?

編集:私は現在宿題をしているので、私からの返信がありません。クラス ライブラリは、自動車に基づく Web アプリ用です。私はプロの開発者です (私は生計を立てるために .NET で開発していますが、ジュニアとして)、これは宿題の質問ではありません。

ありがとう

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

objective-c - Objective-Cのクラス構成質問:クラス変数を継承することは可能ですか?

Objective-Cの感覚を集めるために、 Cocoaを使用しない非常に基本的なconnect4ゲームを作成しています。

私のプログラムには、次の3つのモジュールがあります。

  • 「ゲーム」:ボード情報を保持する配列が含まれています。main内で作成され、ターンを担当するオブジェクト。PlayerオブジェクトとComputerオブジェクトは、このモジュール内にあります。
  • 「プレイヤー」:プレイヤーの駒を優先列に挿入する機能を保持します(このモジュールはカプセル化の目的でのみ存在します)。
  • 「コンピューター」:現在のボード設定に基づいて、コンピューターが移動する場所を決定し、その場所にピースを配置する機能を保持します。

pieceLoc理想的には、PlayerクラスとComputerクラスが、ある種の継承を通じてGame内に存在する同じインスタンスを編集できるようにしたいのですが、これを行う方法がわかりません。

これが私が現在考えていることの抜粋です:
// startGame exists within the "Game" module

}

プレーヤーとコンピューターの移動に使用される関数は、配列へのアクセスを何らかの方法で取得するために必要な関数ですpieceLoc(クラスとインスタンスのメソッドについて詳しく知ると、将来的にはインスタンス変数として存在します)。pieceLoc現在、関数パラメーターを介して渡す必要がある場合に備えて、char*として存在します。

これは、OOPについての考え方ではかなり単純な問題のように感じますが、午後のほとんどを検索したにもかかわらず、探していたものに対する答えを見つけることができませんでした。私が集めたものから、私の質問はクラス構成に関連していますが、Objective-Cのそれについての良いリソースを見つけることができませんでした。

pieceLocつまり、繰り返しますが、「親クラス」ゲーム内に存在する単一のインスタンスを、追加のパラメーターを使用せずpieceLocに直接操作できる2つの「子クラス」に渡す方法を探しています。

配列をパラメーターとして渡すことが、より慣用的なことになる場合、Objective-Cで参照による受け渡しがどのように機能するかの例を取得できますか?

助けてくれてありがとう!

0 投票する
0 に答える
5860 参照

dependencies - 集約、構成、および依存関係の違いに関するコードベースの例

アグリゲーション、コンポジション、依存関係など、さまざまなタイプのアソシエーションの違いは何ですか? コード例 (Java、C++、または疑似コード) を使用して説明します。

0 投票する
6 に答える
1416 参照

c++ - C++: コンポジション インターフェイス

だから私はこれについて考えるのに時間を費やし、「解決策」を探してグーグル全体に行きました(解決策はおそらく好みの問題ですが、私はこれについて確信が持てません)。以下は私が抱えている問題ですが、この問題は構成に関する多くの状況に適用できます。

赤、緑、青、およびアルファのメンバーを含むクラス Color があります。これらにはそれぞれ set および get メンバー関数があります。十分に単純です。

たとえば、このクラスを他のクラス内で使用して、それらの色を指定します (簡潔にするためにコンストラクターとデストラクターは省略します)。

今、私の問題は次のとおりです: この ColourableObject クラスは、この Color オブジェクトにどのようにアクセスするのが最適でしょうか? 次のように、Color オブジェクトを取得してそのメンバー関数に直接アクセスするのが最善でしょうか。

または、次のように、ColourableObject クラスに独自のセットを与えて、Color オブジェクトに作用する色の関数を取得する方がよいでしょうか。

私にとっては、この Color オブジェクトを直接操作するだけで、この Color オブジェクトを必要とする各クラスに機能を追加する手間を省くことができるため、前者が最も論理的です。

しかし、後者は ColourableObject クラスへの変更の影響を受けやすいのではないでしょうか? get と set が互いに衝突するため、 colorableObject.getColour().setRed(x) は私にはあまり自然に思えないことは言うまでもありません。

私はおそらく完全に間違ったアプローチをしています。私はC++に比較的慣れていないので、喜んで学びます!問題は、前者の方法を使用するか、後者の方法を使用するか、またはまったく異なる方法を使用するかです。

0 投票する
6 に答える
861 参照

function - Haskell で 2 つのエラーを発生させる関数を構成する

私が与えられた問題はこう言っています:

mapMaybe と同様の方法で、次の関数を定義します: composeMaybe :: (a->Maybe b) -> (b -> Maybe c) -> (a-> Maybe c) は、2 つのエラーを発生させる関数を構成します。

型 Maybe a と関数 mapMaybe は次のようにコーディングされます。

私はこのような構成を使用してみました:

しかし、それはコンパイルされません。

誰かが私を正しい方向に向けることができますか?

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

php - $ thisを再割り当てする方法はありますか?

まず第一に、私はクラスを拡張したくありません。理想的にはこれをやりたいと思います。

変数$Fiveが他のライブラリを含むコンテナクラスであるシステムがあります。これをFiveのローカル変数に割り当てることができます...つまり

ただし、これを避けようとしている理由は、関数呼び出しが少し長くなるためです。

その少し醜い。はるかに良いでしょう。

これに対する最善の解決策は何ですか?

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

linux - Linuxコマンドの構成について

仮定:

  1. ファイルfのパスは〜/fです
  2. 「どのf」は「〜/ f」を示し、

それで、

which f | catを示しています~/f。したがってcat、ここでは、の引用に適用されます。~/fこれは、とは異なりcat ~/fます。

私の質問は、次の結果を達成するために、whichで構成される1つのコマンドをどのように使用できるかということです。事前に結果がわからない場合は、この構成を使用すると非常に便利です。現在、事前に結果がわからない場合は、最初に呼び出して、結果をコピーしてフィードに貼り付ける必要があります。catcat ~/fwhich fwhich fwhich fless

which f関連する質問は次のとおりです。の結果を変数に割り当てるにはどうすればよいですか?

どうもありがとう!