Куда делся GoodStorage и OrderDeliver?

В нашем примере вы могли заметить отсутствие какой-либо сущности, которая занималась бы доставкой заказа. Действительно, когда мы думаем о вендинговом аппарате, мы подразумеваем то, что физически весь товар размещен в каком-то хранилище и есть некая механическая система доставки.

Но в нашей реализации этого нет. Поэтому, мы смогли пойти на некоторые условности. Во-первых, ответственность об доставке товара мы отдали заказу. Во-вторых, доставка товара сводится к убавлению количества у определённого объекта.  

Если бы разрабатывали чуть более расширенную систему, то у нас появилось бы два важных класса:

  • GoodStorage;
  • OrderDeliver;

Первый бы содержал в себе товары и их остаток, возможно с разбивкой по слотам, в которых они находятся. Второй занимался бы доставкой:

  1. Снимал бы деньги с баланса аппарата;
  2. Забирал товар с хранилища;
  3. Контролировал бы передачу клиенту;

Если вы нашли ошибку, пожалуйста выделите её и нажмите Ctrl+Enter.


Leave a Reply

Your email address will not be published. Required fields are marked *