2009-04-27 2 views
3

Я надеюсь, что кто-то (или некоторые люди) может помочь нам с проблемой, с которой мы несколько дней спорили. Как организовать наши бизнес-объекты с учетом прилагаемой диаграммы?Компания & Контакты Помощь в проектировании объектов

Мы ищем любую помощь (идеи о том, где и как искать шаблоны проектирования/объектные модели, которые мы могли бы использовать для решения этой проблемы. Наша ситуация немного сложнее, но мы старались упростить все, что могли для целей задаю этот вопрос

Некоторые детали:. Некоторые компании имеют производственные линии, а некоторые не
Каждая компания имеет список контактов Если у компании есть.. по крайней мере, одна линейка продуктов, некоторые из этих контактов компании ТАКЖЕ связаны с, по меньшей мере, одной продуктовой линейкой.
Некоторые из контактов являются справочными (деловыми/личными) для других контактов.
Каждая компания и каждый контакт могут иметь ноль или более адресов.

Благодарим вас за помощь в поиске более подходящего решения (мое предположение состоит в том, что нам нужно будет использовать несколько моделей/шаблонов).

Entity Diagram

Larger view of diagram (flickr.com)

** (из диаграммы) Наша компания имеет сотрудников/внутренних пользователей приложения, которые включены с контактами, потому что они могут также быть ссылки и т.д.

+0

Что именно вы пытаетесь сделать? база данных? – marcgg

+0

Что случилось с этим? Это выглядит здорово. –

ответ

0

Если вы пытаясь создать базу данных, я бы сделал это так:

Companies = [id, name] 
Contacts = [id, name] 
Products = [id, name] 
Adresses = [id, details] 

CompaniesContacts = [contact_id, company_id] 
CompaniesProducts = [product_id, company_id] 
AdressesContacts = [contact_id, address_id] 

References = [contact_id, referenced] // referenced is also a contact_id 

Кроме того, я бы рекомендовал использовать UML. Это просто быстрый ответ, попробуйте обновить свой вопрос, и я немного его обновлю.

+0

База данных устарела и на данный момент не может быть изменена. Мы пытаемся создать бизнес-объекты. Мы надеялись найти кого-то, кто мог бы воспользоваться проверенным шаблоном дизайна или двумя (или попробованными и истинными объектными моделями) для этого. Блок-схема была проще в дизайне - мы не хотим предлагать решения только для проблемы/вопроса –

0

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

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

Где вы можете контактировать контактную информацию?

+0

u07ch, спасибо. Таблицы выглядят в хорошей форме (правильно нормированы). Наша озабоченность связана прежде всего с областью бизнес-объектов нашего проекта. –

1

Вы можете использовать следующую модель объекта:

Organization 
-id 
-name 
-description 
-productLines (collection object consisting of products) 
-orgcontacts (collection object consisting of contacts) 
-addresses (of type Address, can be a collection depends on business rule) 

Contact 
-id 
-name 
-type (Business, personal, etc) 
-parentID (null if no reference) 
-adresses (Address or collection) 

ProductLine 
-id 
-name 
-prLineContacts (collection object consisting of contacts) 

Вы можете построить на этой базовой модели, что я могу думать. У вас есть схема данных? Если это так, вы должны решить, с чего начать. Некоторым людям нравится сопоставление 1-1 между их объектом и моделью данных, а некоторые хотят разработать свою схему данных на основе производительности, а затем иметь другое отображение абстракции между объектами и базой данных.

 Смежные вопросы

  • Нет связанных вопросов^_^