オンラインストア。 「分割して征服する」または「OOはもうここにいる」

そして、なぜあなたは、同僚、オンラインショッピングに参加しませんか?

怖い それは同じことで、私は怖いです。 そして、ここで私たちは私たちの恐怖を克服する方法について話します。 使用...オブジェクト指向アプローチ。



この年次会議の終わりに、彼は聴衆に向けて、彼の手の大きくて素晴らしく、壮大な波で、壁全体を覆った米国の巨大な地図を指差した。

彼の後ろに、そして彼はこれを言った:

-これがあなたの市場です! 行って売る!

トーマス・ウルフ、「ノー・リターン・ホーム」




私の知り合いの1人であるインターネット作成者は、バナーシステムのあらゆる種類の子孫に非常に巧妙にお金をmoneyけています。 サイト、広告、引用の評価...私が彼に尋ねたら-なぜあなたはあなた自身のオンラインストア(以降-「IM」)を作らないのですか 同様に、収入は何倍も高くなっています。 それに応えて、彼は一瞬沈黙し、難しいと言いました。



ブロックとインターフェース



はい、難しいです。 しかし、私の意見では、オンラインストアになるための道の問題を解決する方法があります。 これは、古典的な「分割して征服する」-「分割して征服する」であり、特にオブジェクト指向プログラミングで使用されます。 回路を弱い依存ブロックに分割し、インターフェイスを介して接続します。 インターフェース実装者は、プロセス全体に影響を与えることなく、その後、自由裁量で変更できます。 だから、下の図を見てください。



ユースケースのオンラインストア図



ここでは、バリケードの片側にブロックがあります:プロモーター、ウェアハウス、セラー、クーリエ。 反対側はクライアントです。 そして、スイスを中立にする試みで、-支払いシステム。



これらのブロックをどうしますか?



まず、特定のインターフェイスをサポートするようにします。 ウェアハウスと呼ばれていました-GetItemsList()およびReserveItem()メソッドのサポートを実装してください。 はい、はい。 Excelの時間は過ぎました。サーバーを設置し、ソフトウェアを購入し、専用のプルを引く必要があります。 そうでなければ、彼らは他の誰かから購入します。



ちなみに、各ブロックについて、このインターフェイスは1人の力で実行可能です。 私も個人的にそれを取る。



IMを構築します



では、IMを作成する可能性を1人で試してみましょう。



そのため、新しい未来のインターネットマーケティング担当者が登場しています。 彼がすでにドメインRussianVegetables.comを購入したとします。 次に、彼は野菜店のリストから彼に最も適したものを選択します。 たとえば、価格で( ここには小さなボーナスが1つありますが、それについては次の記事で説明します )。



さらに進みましょう。 私たちは自分自身をほどきますか? そうでない場合は、プロモーターを探して、スキームを説明し、プロモーションを送信します。



それで、買い手が来ました。 彼は倉庫から商品のリストを見ました。 そして、カブの袋を注文しました。 同時に、彼は配送フォームに記入しました。 ちなみに、それは私たちによってまったく書かれていませんでした。 クーリエインターフェースが提供する呼び出しフォームを挿入するだけです。 購入者は、外部の支払いシステムを通じて支払いを行いました。 倉庫でカブ袋を予約し、同じインターフェースでクーリエを蹴りました。 宅配業者が行って、倉庫で商品を受け取り、買い手に渡しました。 :複雑な購入プロセスについては、次の記事で説明します。



そして、買い手はいつも、彼の前に倉庫、宅配便、その他の道具を備えた巨大企業があると考えていました。 ナイーブ。

結論



ご覧のとおり、各ブロックは1人で完全に実装されています。



そして何-マイナスはありませんか? はい、どんな数字でも! 責任は共有されているため、一時的に利用できないサービスの場合は、各インターフェイス実装者と契約を結ぶ必要があります。 そして、はい、-最も重要なマイナス-あなたはまだ働く必要があります:)



All Articles