В надежде на небольшое руководство по принятию решений моделирования для приложения RoR. Я планирую построить. Это будет арендная платформа с несколькими арендаторами. Я предполагаю следующие классы и/или модули, и мой вопрос касается моделирования, композиции и наследования. Я полагаю, следующие классы и или модули:Объектно-ориентированное консультирование по моделированию
- Products (модуль В ProductLibrary, VendorCatalogue и Распоряжений?)
- продукта Библиотека (всевозможная аренда вещь, предметы has_many продукта, 1..n с продуктами)
- Поставщики (1..1 с каталогом поставщиков, 1..n с заказами)
- Каталог поставщиков (имеется продуктов из объекта «Библиотека продуктов» и индивидуально для каждого «Продавца», 1..1 с поставщиками)
- Клиенты (заявки 1..n)
- Заказы (состоящие из Продуктов из каталога поставщиков, 1..1 с клиентом, 1..n с продуктами и п. 1 с поставщиками)
- Возможно, должен существовать класс учетной записи с общими атрибутами и методами учетной записи, которые оба Поставщики и клиенты унаследовали?
Извините за отсутствие ясности с тем, как я изложил вышеизложенное, я новичок в OO и программировании в целом. Могу ли я иметь какие-либо мысли и советы по моим соображениям ниже. лучшее моделирование указанных объектов:
- Мои мысли, что продукты должны быть модулем (?), поскольку другие классы имеют продукты, а не «являются продуктами»?
- Я не уверен, что мне даже нужна библиотека продуктов (это будет просто product.all?)?
- Поскольку существует несколько продавцов, каждый из которых имеет разные диапазоны продуктов/каталоги, мне нужен объект VendorCatalogue, чтобы содержать уникальную коллекцию объектов всех производителей. Это лучший способ сделать это?
- Должны ли поставщики и клиенты унаследовать от родительского класса учетных записей, чтобы сохранить СУХОЕ?
- Будет ли самое разумное место для создания класса продуктов/модуля, продуктов Library (если rqd), затем поставщиков, затем VendorCatalogue, а затем клиентов, а затем ордеров?
Любая помощь по вышеуказанной оценке, спасибо.
Спасибо Станислав, размышляя, исследуя и узнавая больше о моментах вашего ответа. Например. Не слышали о шаблонах хранилища до сегодняшнего дня;) спасибо за руководство. – jbk
Если бы я помог вам, было бы здорово, если бы вы пометили мой ответ как правильный :) –
BTW, AR :: Модель простая рельсовая активная модель записи, ничего сложного –