問題タブ [tightly-coupled-code]
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.
oop - 構成に関連する疎結合
密結合に関連するさまざまなフォーラムを検索した後 (クラスのグループが互いに大きく依存している場合) 例 1
上記のクラス CustomerRepository は Database クラスに依存しているため、密結合されています。このクラスも Compostion の例であると思います。次に、疎結合を検索したので、上記のクラスを変更して密結合の依存関係を削除しました。例2
コンポジションが疎結合をサポートしていることを検索しましたが、私の質問は、コンポジションに基づいているため、 example1 がどのように密結合されているかです。第二に、疎結合と構成の関係は何ですか?
どんな助けでも大歓迎です。
java - ls 疎結合は、親クラス参照変数を使用するのではなく、他の方法で実現できます。一般に、特に私のコードではありませんか?
密結合とは、クラスのグループが互いに大きく依存している場合です。
私のコードでは、親インターフェイス A ではなく、クラス B の参照を通じてクラスのオブジェクトを受け入れています。
私のコードは疎結合ですか、それとも密結合ですか?
疎結合は、単一の責任と関心の分離を促進する設計によって実現されます。
親クラスまたはインターフェースの参照を使用すると、コードがより柔軟になり、子クラスのオブジェクトを採用できるようになりますが、単一の責任をどのように促進しますか。
親クラス参照変数を使用するのではなく、他の方法で疎結合を実現できますか?いずれにせよ、特に私のコードではありませんか?
class - 循環依存はコードの匂いですか? (言語にとらわれない)
たとえば、タイル マップ エディターを作成しているとします。
タイルの描画を処理するエディタと、どのタイルを描画するかを決定するために使用されるタイルセットがあります。
エディタは、どのタイルを描画する必要があるかを知るためにタイルセットに依存する必要があり、タイルセットは、描画するタイルの寸法やその他の細かい詳細を知るためにエディタに依存する必要があります。
これにより、密結合コードが作成されます。これはコードの匂いですか?もしそうなら、どうすれば解決できますか?
すべてを大きなクラスに詰め込みますか? 2 つのクラス間の通信にメディエータを使用する必要がありますか?
java - 密結合コードの単体テストが難しいのはなぜですか?
密結合コードは単体テストが難しいと聞いたことがあります。私はどのように理解していませんか?誰かが例を挙げて説明できますか。
spring-mvc - データをアプリケーション コードと疎結合にする方法は?
プロジェクトのコード ベースを、それに取り組んだ開発者から継承しました。私はそれにいくつかの変更を加える必要があります。
2列のテーブル「CARS」があるとします
ID | カーネーム
1 | ヒュンダイ
2 | フォード
3 | BMW
Model クラス "Car" にバインド:
そして私のコードスニペット(いくつかのコントローラークラスで言う)では、指定された車がフォード車であるかどうかを確認する必要があります。条件付きコードは次のようになります
if(thisCar.getCarName()=="FORD")
また
if(thisCar.getId()==2L)
ただし、これにより、DB とアプリの間にいくつかの依存関係の問題が発生します。cars テーブルをフラッシュするか、再構築するとどうなるでしょうか。その結果、FORD car エントリが主キー 3 になり、文字列 "FORD" も同様になります。明日、「FORDspeed」か何かに変わったらどうでしょう。それに応じてコードを変更する必要があります。
この意味でデータから疎結合されたコードを作成するにはどうすればよいですか。
c# - OOPタイトカップリング。いつすればいいですか?
2つのサービスを実装しました。1 つは Country API からデータをプルし、もう 1 つは County API からデータをプルします。
私はコントローラーをきれいに保つのが好きなので、サービスを別々に保つのではなく、一緒に組み合わせるのが良い考えかどうか知りたいです。
何が密結合を構成するのか、それが適切かどうかは正確にはわかりません。
このルートをたどるべきですか: