Система регистрации ООП - PullRequest
       24

Система регистрации ООП

1 голос
/ 17 ноября 2009

Я работаю над системой регистрации. Чтобы зарегистрироваться для учетной записи, пользователь должен заполнить форму. Они могут зарегистрироваться как частное лицо или компания. Кроме того, пользователи могут выбрать тип регистрации, например, Pro или Basic.

Регистрация компании также включает в себя индивидуальную регистрацию, но как компания вы можете заключить сделку, чтобы получить 2 на 1 с определенными типами регистрации (но не всеми).

С каждым из этих типов регистрации связана стоимость. Они также могут выбрать регион, стоимость которого связана с каждым из них.

Теперь, если они выбрали базовый тип регистрации, он взимает с них только половину стоимости региона.

Я ищу любые предложения о том, как подойти к этой, казалось бы, сложной регистрации. Я планировал принять объектно-ориентированный подход к этой задаче.

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

Ответы [ 2 ]

2 голосов
/ 17 ноября 2009

Я предлагаю использовать таблицу решений ( Table Driven Design ). Очевидно, вы должны хранить цены в какой-то таблице конфигурации в любом случае.

0 голосов
/ 17 ноября 2009

Класс фабрики Account (), который возвращает экземпляр AccountIndividual () или AccountCompany ().

Фабрика Account () имеет атрибут $ type и список объектов Registration (), представляющих виды регистраций, связанных с данной учетной записью.

Класс фабрики Registration (), который возвращает два или более подклассов RegistrationXYZ () с соответствующими атрибутами, включая атрибут $ region.

Вам может понадобиться или не потребоваться создание класса Region ().

Лично я бы беспокоился о тщательном проектировании слоя базы данных, а затем о бизнес-логике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...