За последние 24 часа нас посетили 19612 программистов и 1605 роботов. Сейчас ищут 856 программистов ...

Помогите спроектировать

Тема в разделе "Прочие вопросы по PHP", создана пользователем Djos, 28 ноя 2013.

  1. Djos

    Djos Новичок

    С нами с:
    28 ноя 2013
    Сообщения:
    2
    Симпатии:
    0
    Есть 2 сущности. Продукты(Product) и Страховые Компания(Insurer). В их связки образуется Договор.
    Договор нужно сначала Посчитать(Calculator), потом Сохранить(Save).
    Сохранение может быть как у Продукта, так и у Страховой Компании.

    Помогите спроектировать.
    На картинке нарисовал к чему я пришел, но думаю есть и куда лучше вариант реализации.

    [​IMG]
     
  2. Tokha

    Tokha Активный пользователь

    С нами с:
    29 янв 2013
    Сообщения:
    77
    Симпатии:
    0
    Смотря что проектировать надо...

    Если в терминах моделей, то все очевидно:
    1. Класс Product с методом Save;
    2. Класс Insurer с методом Save;
    3. Класс Contract, содержащий поля Product и Insurer, а также методы Calculate и Save. Метод Save вызывает методы Save для своих Product и Insurer.
     
  3. Djos

    Djos Новичок

    С нами с:
    28 ноя 2013
    Сообщения:
    2
    Симпатии:
    0
    Сейчас в коде очень плоха, все лежит черти знает где. Вот и хочу это разложить по полочкам. Мне это и нужно спроектировать.
    Опишем по подробнее.
    Есть 3 продукта ( П1, П2, П3 ), и 2 Страховые компания( СК1, СК2 ).
    Если брать их по отдельности, они сущности и нечего из себя не представляют.
    Если взять связку П1 + CК1 то получим договор по П1 у СК1 или П1 + СК2. Связка может быть любая, главная чтоб были 2 сущности П и СК.
    Можно начать оформление договора с 1-й из сущности, но когда доходим до Расчета должна быть известна 2-ая сущность.
    Получается чтоб Рассчитать договор нужно связка П и СК, так же и с Сохранением. Сохранение происходит на нашей стороне, так и на стороне СК.

    Думал в таком направление, но как быть с калькулятором. Калькулятор не может быть только у П или СК( т.к. рассчитать их по отдельности не можем ). Калькулятор создается от связки П и СК.