問題タブ [coupling]

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 に答える
25812 参照

oop - クラスの求心性結合と遠心性結合の違いは何ですか?

Sonarのようなコード品質メトリクス ツールは、クラスにドリルダウンして、次の数を見つける機能を提供します。

  1. 求心性 (着信) カップリング
  2. 遠心性(発信)カップリング

これら2つのパラメータは何ですか? 簡単な不自然な例で説明していただけますか?

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

mvvm - MVVM で異なるビューを分離しておく方法

私のアプリケーションは、XML ファイルをロードし、エラー (ある場合) を表示するように設計されています。

私が抱えている問題は、結合せずに両方 (XML とエラー) を画面に表示する方法です (私のアプリケーションは現在動作しています)。

現在、私のアプリケーションは次のようになっています (私が Photoshop\UI コースに参加していることについて笑ったりコメントしたりしないでください)。

ここに画像の説明を入力

茶色は XmlView と呼ばれる別のビューです。
赤いボックスは、エラーを表示したい場所です。

そのため、ユーザーが [ファイル] -> [開く] をクリックしてファイルを選択すると、.XML コンテンツが XmlView (茶色) に表示され、エラー メッセージが赤で表示されます。これは機能しますが、MainWindow と XmlView を完全に結合しているため、デザインが貧弱であると感じています。

これを機能させる方法は、ユーザーが有効な XML ファイルを ([ファイル] -> [開く] から) 選択したときに、XmlView のインスタンスを作成し、それを MainWindow クラスの Views プロパティにバインドすることです。私の XmlView は、MainWindow タイプである 1 つのパラメーターを取ります。

したがって、XmlView 内で ErrorList を更新するには、次のようなコードを記述します。

しかし、これは、私の XmlView が、望ましくないと思っていた MainWindow を認識していることを意味します。

では、最後に私の質問です!私のデザインは貧弱ですか、それともこれでいいですか?

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

jquery - Rails - AJAX を追加するときのカップリングを減らす

Rails を学習するための小さなブログ アプリを作成しています。ユーザーはログインし、投稿を作成し、他のユーザーの投稿にコメントできます。現在、「コメントを追加」ページに Ajax を追加していますが、途中で設計上の問題が発生しました。ページ フローは次のようになります。

問題点:

1 - コメントは作成日順にソートされるため、ajax 呼び出しによって新しいコメントがページの上部に追加されます。並べ替えの動作を変更すると、ajax コードが壊れます。

2 - コメントdivには、.odd、.even、または .admin の 3 つの css クラスを含めることができます (コメントが管理者ユーザーによって作成された場合は、奇数/偶数サイクルまたは管理者を適用します)。現在、これらのクラス名をハードコーディングし、if を使用して正しい名前を取得しています。これも悪いです。css クラス名を変更すると、ajax コードが壊れます。

どうすればこれらのことを回避できますか、または少なくとも改善できますか? これが私のcreate.js.erbです:

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

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

c# - 他のオブジェクトに関連付ける方法 - C#、OOD

ブラックジャック コンソール アプリで苦労しており、Seat クラスの設計/関連付けについてサポートが必要です。

このゲームには 6 つの座席があり、1 つの座席には 1 人のプレーヤーのみが参加できますが、座席が空いている場合、プレーヤーは最大 3 つの座席を占有 (または賭け) できます。また、TableGame には 6 席あります。

TableGame クラスに関しては、6 つのシートが必要です。では、TableGame コンストラクターで 6 つの座席を作成する必要がありますか? 配列を使用して利用可能な座席を取得するパブリック プロパティ、つまり SeatsAvailable を作成するのはどうでしょうか。

また、プレーヤーは座席を占有し、それに賭けます。賭けをしているプレーヤーに結びつくように、これらの人を結合するにはどうすればよいですか?

Seat クラスを TableGame と結合する方法についてのアドバイス、Player クラスは、私が注目すべき批評や方向性と同様に、非常に高く評価されます。初心者がOO設計のコツを学ぶのを手伝ってくれてありがとう。