Мій сайт
Головна » 2011 » Березень » 14 » Інтернет-магазин. «Розділяй і володарюй» або «оо вже й тут»
22:40
Інтернет-магазин. «Розділяй і володарюй» або «оо вже й тут»
А чому б вам, колеги, не долучитися до інтернет-магазінству?
Страшно? Те-то ж, і мені страшно. І тут ми поговоримо про те як побороти свої страхи. За допомогою ... об'єктно-орієнтованого підходу.

Під кінець цього щорічного з'їзду він виступав перед присутніми, широким наказовим, чудовим помахом руки вказував на величезну карту Сполучених Штатів, яка покривала всю стіну
за його спиною, і говорив так:
- Ось він, ваш ринок! Ідіть і продавайте!
Томас Вулф, "Додому вороття немає"

Один мій знайомий інтернет-творець дуже спритно заробляє на всіляких нащадках банерної системи. Сайти, реклама, рейтинги цитування ... Одного разу я його запитав - а чому б тобі не змайструвати власний інтернет-магазин (далі - "І-М")? Мовляв, доходи в рази вище. У відповідь він помовчав і сказав - складно це.

Блоки й інтерфейси

Так, це складно. Але шлях вирішення проблем на шляху становлення інтернет-магазінаціі на мій погляд є. Це класичний "Divide and Conquer" - "Розділяй і володарюй", вживаний, зокрема, в об'єктно-орієнтованому програмуванні. Ділимо схему на слабозавісімие блоки і з'єднуємо через інтерфейси. Реалізатора інтерфейсу згодом можна змінювати на свій розсуд без впливу на процес у цілому. Отже, подивимося на схему нижче.

Use Case схема інтернет-магазину

Тут ми бачимо блоки по один бік барикад: Промоутер, Склад, Продавець, Курьер. На іншій стороні - Клієнт. І, з потугою на нейтральну Швейцарію, - Платіжна система.

Що з цими блоками робити?

По-перше, змусити їх підтримувати певні інтерфейси. Назвався складом - будь добрий, реалізуй підтримку методів GetItemsList () і ReserveItem (). Так, хлопці, так. Час Excel-я пройшло, доведеться ставити сервак, купувати софт і тягнути виділенку. Інакше будуть купувати у кого-то другого.

До речі, для кожного блоку це обінтерфейсчіваніе цілком реалізоване силами однієї людини. Навіть я особисто візьмуся.

Конструюємо І-М

Тепер приклад на одного людини можливість творення І-М.

Отже, вперед виходить новий майбутній інтернет-торговець. Припустимо, що домен RussianVegetables.com він вже купив. Далі він вибирає зі списку овощебаз найбільш підходящий йому. Наприклад за цінами (тут є один маленький бонус, але про нього ми поговрім в наступній статті).

Поїхали далі. Розкручувати будемо самі? Якщо ні, то шукаємо промоутера, пояснюємо йому схему і відправляємо промоутіть.

Отже, до нас прийшов покупець. Він подивився список товарів від Складу. І замовив мішок кормового турнепсу. При цьому він заповнив форму доставки. До речі, її писали зовсім навіть і не ми самі. Ми просто вставили виклик формочки наданої інтерфейсом кур'єра. Оплату покупець зробив через зовнішню Платіжну систему. Ми забронювали мішок турнепсу на Складі і штовхнула Кур'єра через ті ж інтерфейси. Кур'єр пішов, забрав на Складі товар і довіз його покупцеві. Примітка: заплутані процеси покупки ми розплутаємо в наступних статтях.

А покупець весь цей час думав, що перед ним мегакомпанії зі своїм складом, кур'єрською службою та іншою атрибутикою. Наївний.

Висновки

Як ми бачимо, кожен блок цілком реалізуємо однією людиною.

І що - мінусів немає? Та скільки завгодно! Відповідальність ділиться, тому випадки service temporarily unavailable доведеться вписувати у контракт з кожним інтерфейс-реалізатором. І так, - найголовніший мінус - працювати все одно доведеться:)
Переглядів: 559 | Додав: w1zard | Рейтинг: 0.0/0

Категорії розділу

Події [3]
Тільки екстренні та надзвичайні новини
Світові події [4]
Останні події, що трапились у світі.
Українські події [8]
Події, які трапились в межах нашої державии, чи стосуються України
Бізнес [3]
Новини та події із бізнес-світу
Наука і техніка [3]
Новини, що трапились у світі науки або технічних досліджень
Спорт [1]
Спортивні новини та досягнення
Культура та мистецтво [2]
Новини культурного та художнього світу
Форма входу

Наше опитування

Оцініть мій сайт
Всього відповідей: 47

Друзі сайту

Статистика


Онлайн всього: 2
Гостей: 2
Користувачів: 0