たとえば、 オンラインショップを3つの部分に分けたいと思います。 ユーザー:ユーザー関連の情報(たとえば、ユーザーがログインした場合など)。ログアウト。 コミュニケーション:電子メールまたはニュースレターモジュールを送信します。 ShoppingCart:注文を表示しています。アプリケーションの責任を分ける方法は?
これら3つのモジュールは、私の小さなオンラインストアの主な機能です。 明らかに、ユーザーメイドルは、自分のものを扱う、例えば、ユーザーは自分のプロフィール写真を変更する(大丈夫、それは一例だと思うのですが、それは一例だと思うだけです)。
ユーザー---コール--->ユーザー
しかし、私はここに問題を抱えて、ユーザーがクロスモジュールのコールを必要とするいくつかの機能を実行するときです.... 私は例をあげてみようユーザーがパスワードを紛失した場合、ユーザーは通信方法を使用して新しいパスワードを送信する必要があります...状況は次のようなものになります。
user ----call---> communication
悪い状況では、すべてのモジュールを使用しています。 ショッピングカートを使用してショッピングをした後、注文を行い、請求書を使用して通信モジュールを使用しますユーザーに送信する。
user ----call---> shoppingCart ---call---> Communication
。したがって、各モジュールが分離しないで、すべてのモジュールは、お互いを知っている....しかし、私は、例えば、この時間は、私は、たとえば、新しいアプリケーションをやっていることを行うにはしたくない、I 「ユーザー」と「コミュニケーション」だけを使用するビデオ共有Webサイトを行うと、私は実際に「shoppingChart」は必要なく、新しいビデオモジュールを持っています.....
私にとっては "アップグレードする "私のユーザーと通信方法は、ビデオモジュールを扱うが、問題は、私は何かが間違っているとき、私はオンラインショップのアプリケーションを"アップグレード "する必要がある場合、例えば、getFullNameメソッドは、私はあまりにも "ビデオ"モジュールを取る必要が.....
私が尋ねたいのは、責任を分ける方法と、コードをより再利用可能にする方法です。ありがとうございました。