Должен ли я хранить всю информацию о продукте в объектах Product или разделить ее между объектом Product и страницей CMS? - PullRequest
0 голосов
/ 31 марта 2011

У меня есть приложение CMS, которое я создаю, и добавляю функции электронной коммерции.Я размышляю о выборе дизайна и спрашиваю себя, есть ли у кого мысли?

У меня есть объекты модели продукта и страница в CMS, которая описывает каждый продукт.Логически мне интересно, должна ли вся информация о продукте указываться в модели продукта или какая-то информация должна указываться на странице CMS.Любой подход будет работать без сомнения, мне просто интересно, есть ли у кого мысли о том, что может быть лучше и почему.

Хранение информации в отдельных моделях продуктов и моделях страниц CMS представляется более логичным, поскольку некоторая информация принадлежитпродукт и некоторая информация принадлежит странице.

Таким образом, Продукт хранит вещи, которые являются неотъемлемыми свойствами продукта.Например: имя, цена изображения, особенности и страница хранит вещи, которые предназначены для продажи продукта.Например, преимущества, как это работает диаграмма, информация о продажах.

Но я думаю, что хранение всей информации в одной модели более прагматично.Если у меня есть отдельная страница CMS и продукт, пользователю потребуется вводить и поддерживать информацию в двух местах, пользователь может также непреднамеренно привязать неправильный продукт к неправильной странице, а для перевода продукта в автономный режим потребуется отключить две вещи..

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

1 Ответ

2 голосов
/ 31 марта 2011

Но я думаю, что хранение всей информации в одной модели более прагматично.Если у меня есть отдельная страница CMS и продукт, пользователю нужно будет вводить и поддерживать информацию в двух местах, пользователь также может непреднамеренно привязать неправильный продукт к неправильной странице, а для перевода продукта в автономный режим потребуется отключить две вещи..

Нет, это не так.

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

Для перевода продукта в автономный режим не требуетсядва разных действия.Я бы смоделировал это как логический флаг в основной записи продукта (для жестких данных) (то есть: active <-> Y / N) и включил бы или отключил соответствующую CMS-страницу в зависимости от этого.

В зависимости отспецифика, между прочим, страница CMS все еще может быть доступна для поиска или отображаться, и единственная часть, которая будет выделена серым цветом, будет кнопка «положить в корзину» (таким образом, клиент может видеть, что конкретный элемент был предложен впрошлое, но не больше).

Таким образом, описательные качества предмета (размер и т. д.) должны быть частью записи предмета.Все, что «связано с продажами», то есть «реклама», предложения для других товаров, скидки на продажу, замечания s & h и т. Д., Должно быть частью страницы CMS (или записи).И страница CMS должна всегда отображать некоторые данные из записи Item, потому что она полезна сама по себе (клиент может проверить, не слишком ли она велика, недостаточна мощность и т. Д.) И предоставит базовую информацию для размещения на странице CMS в случае редактора копирования.еще ничего не предоставил.

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