問題タブ [loose-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 に答える
612 参照

java - バック エンドとフロント エンドを疎結合に保つ、優れた Java バック エンド プラットフォーム/ライブラリ/フレームワークはありますか?

最近の asp.net MVC の経験により、フロントエンド/UI 開発者の観点から .NET への嫌悪感が大幅に軽減されました。Java にも似たようなものはありますか、それとも、ある種のマルチタスク パフォーマンス上の利点のために CGI 以外の何かを行うこととして私が漠然としか理解していないサーブレット/ポートレット ビジネスは、常に HTML への密結合を必要としますか?

そうでない場合、これを可能にするものを Java で作成するために何を読む必要がありますか? 有名なライブラリが原因ですか?

また、これらのミステリアスな n-let がパフォーマンスを向上させるのであれば、なぜこれほど多くの Java サイトのロード時間が遅く見えるのでしょうか?

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

python - 「より良い」練習はどれですか?Python でオブジェクト参照またはオブジェクト メソッド参照を渡す

私は Python で小さなコードを書いていますが、他の人がこれについてどう思うか興味があります。

それぞれにいくつかのメソッドを持ついくつかのクラスがあり、何が「より良い」かを判断しようとしています: メソッド呼び出しを介してオブジェクトを渡すか、オブジェクトからのメソッドが 1 つだけ必要な場合にメソッド呼び出しを介してメソッドを渡すか。基本的に、これを行う必要があります:

またはこれ

私の見方では、2 番目のクラスは、操作と他のクラスの間の結合がさらに緩い結合/より強い結束を促進するため、間違いなく「優れている」と言えます。オブジェクトから単一のメソッドのみが必要な場合のこのアプローチに対する賛否両論を知りたいです。

編集:明らかに動揺していたので、OOP の文言を削除しました。私は主に、疎結合と高い結束について言及していました。

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

javascript - ページ上の JavaScript とモーダル/jQuery UI ダイアログの JavaScript を疎結合するにはどうすればよいですか?

ユーザーが「人を追加」ボタンをクリックするページがあります。これにより、ajax を介してロードされ、jQuery UI ダイアログで表示されるモーダルがポップアップ表示されます。ポップアップには、ユーザーが追加する人を選択する検索フォームが含まれています。彼らが「OK」を押したら、ページ上のJavaScriptで選択した人のIDを取得し、モーダルを表示したページに表示したいと思います。

これはすべて問題なく動作しますが、常に見苦しく、モーダル ビューまたはページ ビューのいずれかでコードを記述してしまい、もう一方の DOM の知識が必要になります。たとえば、モーダルは、呼び出しページに があることを認識し、そこdiv#new-personに新しい人を配置できます。ただし、モーダルがベース ページを認識している必要があります。

または、アプリケーション コードからモーダルに JavaScript 関数を渡すこともできますが、それにはモーダルがその関数を認識して明示的に呼び出す必要があります。jQuery UI ダイアログはonclick、ベース ページで指定されたボタンを作成する機能を提供しますが、モーダルはそれよりも複雑です (人が選択されるまでこれらのボタンを表示したくない) ので、使用できません。

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

session - IE8 セッション共有に問題がありますか?

こんにちは、Java の IE8 でセッション共有を処理するにはどうすればよいですか?? 複数のユーザーがログインできるアプリケーションがあります。以前の IE7 では、この種の問題はありませんでした。しかし、IE8 では疎結合なので、Java でこれを回避するにはどうすればよいでしょうか?

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

asp.net-mvc - ASP.NET MVC Web プロジェクトから構造マップ依存関係リゾルバーを適切に分離する方法は?

ASP.NET MVC を使用して Web プロジェクトを開発しているときに、カップリングの問題に遭遇しました。カスタム コントローラー ファクトリ (または MVC 3 を使用している場合は依存関係リゾルバー) をビルドするとき、依存関係を取得する場所を何らかの方法で知るために、このファクトリが必要です。これが私のコードです:

StructureMapControllerFactoryクラスは、依存関係をコントローラーに注入する責任があります。前述したように、これらの依存関係 (サービスやリポジトリの実装などの具体的なクラス) を見つける場所を知る必要があります。

MySite.Data私は、すべての実装の詳細が存在する という別のクラス ライブラリを持っています。のようなコントラクトは、IAccountRepositoryライブラリに存在しますMySite.Contracts。ここで、このMySite.Dataライブラリを MVC プロジェクトから直接参照すると、サイトとそのデータ取得の実装の間に依存関係が生じます。問題は、どうすればそれを削除できるかです。この状況でのベストプラクティスは何ですか?

いくつかの回避策があると確信していますが、まだ見つかっていません。

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

.net - インターフェイスの場所のジレンマ

たとえば、次のアセンブリに分離された単純な ASP.NET MVC ソリューションなど、疎結合レイヤーを実装し、IoC コンテナーなどを実装することで、SoC の原則に準拠することになっているコード プロジェクトがあるとします。

  • アプリケーションアセンブリ + 名前空間
  • モデルアセンブリ + 名前空間 (DB データにアクセスするための具体的なリポジトリが含まれています)

また、モデルアセンブリの具体的なリポジトリが共通のインターフェイスを実装する必要IMyBusinessRepositoryがある場合、そのインターフェイスをどのアセンブリに配置しますか?

1) そのインターフェイスをモデルアセンブリに配置すると、アプリケーションアセンブリのコードを変更せずに、そのアセンブリを別のアセンブリに置き換えることは不可能になる可能性があります (少なくとも名前空間が異なる場合) 。また、別のアセンブリに存在する代替 IMyBusinessRepository実装は、元のアセンブリを参照する必要があります (うわあ!)

2) アプリケーション アセンブリに配置すると、アプリケーションアセンブリを参照せずに他のプロジェクトでモデルアセンブリを使用することはできなくなります(うわぁ!)

3) または、そのインターフェイス専用の共通アセンブリを個別に作成しますか?さらに言えば、共通インターフェイスまたはインターフェイスのセットごとに個別の共通アセンブリを作成しますか? (うーん?)

要約すると、Xアセンブリは、アプリケーションAで(参照を変更するだけで) 簡単に置き換え可能であり、アプリケーションBCDで再利用できる必要があります。

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

ruby - イベント後に追加のアクションを呼び出す

この問題のパターンがあるかどうか疑問に思います:

CRUD'ing'ftp-users用のrubywebfrontendがあります。WebフロントエンドのバックエンドはMySQLDBです。webfrontendはデーモンから厳密に分離されており、auth-backend(sql-mysqlまたはmod_auth_fileを使用したproftpd)です。

webguiを介してユーザーを作成した後、デーモンバックエンドへのブリッジを呼び出したいと思います。

このブリッジのコーディングは問題ではありません。強力な結合なしですべてをまとめる方法がわかりません(proftpd authバックエンドを切り替えるため)。

ありがとうございました。

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

asp.net-mvc - コントローラを HTTP コンテキスト セッションから切り離す方法

アクション内のセッションにいくつかのデータを保存する必要がありますが、コントローラーを http コンテキスト セッションに結合することを懸念しています。サービスを作成することを考えましたが、本当に価値がありますか?

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

domain-driven-design - ドメインモデルはどの程度結合する必要がありますか?すべての集約ルートはインターフェースである必要がありますか?

ついにドメインモデルを構築しています。ドメインモデルには、ドメインオブジェクトを永続性に緩く結合するためのインターフェイスが含まれています。ただし、ドメインモデルオブジェクトを相互にどのように結合する必要があるのか​​疑問に思っています。

注文顧客を指しますか、それともICustomerを指しますか?

この投稿では、オブジェクトを積極的にデカップリングする際の問題について言及しており、「[インターフェイス]を使いすぎてしまう」ことを思いとどまらせているようです。ただし、ドメインエンティティが依存している他のエンティティをモックできない限り、ドメインエンティティを実際に単体テストする方法がわかりません。これには、緩い結合が必要です。

また、ピースを交換できるドメインモデルがどれほど現実的かについてもわかりません。