Вопрос об ООП и объектах - PullRequest
0 голосов
/ 29 мая 2010

У меня есть школьное задание: выставка собак.

Моя задача - создать веб-сайт, на котором участники могут отображать результаты, а также где судьи и секретарь могут администрировать и CRUD.

У меня небольшая проблема, одна часть задания: результат должен основываться на двух решениях от разных судей и после этого проверяться секретарем, прежде чем результат отобразится для пользователя.

Я должен сказать, что я довольно новичок в программировании, и поэтому мне нужны некоторые умные предложения о том, как спроектировать и реализовать это. Назначение должно охватывать как БД, так и C # (.NET MVC).

В1: Как мне создать объект (результат), который зависит от двух других объектов (решения судьи)? Это даже нужно?

Q2: Как решить эту проблему в реляционном БД?

Ответы [ 2 ]

0 голосов
/ 29 мая 2010

Как мне создать объект (результат), который зависит от двух других объектов (решения судьи)? Это даже нужно?

Я предлагаю вам создать объект результата при создании второго объекта решения.

Псевдокод может быть похож на то, когда судья пытается создать новое решение, а затем посмотреть, сколько других решений уже существует:

  • случай 0: это первое решение; просто создайте новое решение и верните

  • случай 1: это будет второе решение; создать новое решение, а затем создать результат на основе двух решений

  • вариант 2 или более: два решения уже существуют, поэтому не допускайте создания этого дополнительного решения.

Другая (возможно, не очень хорошая) возможность - иметь отдельный процесс «создания результатов», который выполняется непрерывно (не непрерывно: например, раз в минуту), ища какие-либо уже созданные пары решений, для которых нет соответствующих результат и создание соответствующего результата.

0 голосов
/ 29 мая 2010

Я не думаю, что это будет трудно решить с помощью реляционной БД. Я бы посоветовал вам рассматривать каждую таблицу в базе данных как представляющую сущность (класс) в вашей объектной модели. Некоторые объекты, которые вы, возможно, захотите рассмотреть на выставке собак, собаке, представлении, суждении, результате, судье, секретаре (судья / секретарь могут быть и официальными лицами) Согласно вашему определению, каждая запись будет иметь 2 суждения (таким образом, у вас должно быть отношение 1-ко-многим), но каждая запись имеет только 1 результат. Вы можете использовать код или ограничение базы данных (или оба), чтобы гарантировать, что Результат для Записи не будет создан до тех пор, пока для этой Записи нет двух суждений. Аналогичным образом, вы можете использовать код / ​​ограничение, чтобы гарантировать, что для каждой заявки вводится не более двух суждений.

Надеюсь, это поможет вам начать.

...