Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

ООП, кто должен выполнять эту работу? (mus)
Author Message
mus
Участник форума



Joined: 06 Mar 2005
Posts: 130
Карма: -10
   поощрить/наказать


PostPosted: Tue Jun 20, 2006 9:36 pm (написано за 5 минут 1 секунду)
   Post subject: ООП, кто должен выполнять эту работу?
Reply with quote

Господа, представим себе, что у нас есть некий склад. Там есть сущности - поставщик и товар. В базе данных эти сущности представлены отдельными таблицами, также существует третья для факта операции сделки, отношение -> многое ко многим.
Пишем класс Production и Supplier, определяем свойства, методы...
А теперь вопрос. Операция покупки - как её представить? В какой класс определить? Это поставщик продал нам товар или товар продался нам от поставщика? В каком из классов определить метод, отвечающий за операцию продажи товара от поставщика нам? Просто ранее мне говаривали (в университете), что в ООП объект обычно сам над собой выполняет действие, никто над ним ничего не выполняет...Скажем стол имеет метод moveTo для перемещения и т.д.
Насколько это верно?
Back to top
View user's profile Send private message
Struchalin
Заглянувший



Joined: 17 Nov 2005
Posts: 17
Карма: 2
   поощрить/наказать


PostPosted: Tue Jun 20, 2006 9:57 pm (спустя 21 минуту; написано за 5 минут 12 секунд)
   Post subject:
Reply with quote

mus
Если смотреть с точки зрения бухгалтерии, то у склада есть приход и расход. В таком случае, нужна еще одна сущность - покупатель.
Но на практике, поставщик может быть одновременно и покупателем.
Поэтому, лучше определить 2 сущности: контрагент и товар.
У товара методы: приход и расход.
Вот и получается - поступление от поставщика это метод "приход товара", а продажа покупателю это метод "расход товара".
Back to top
View user's profile Send private message
mus
Участник форума



Joined: 06 Mar 2005
Posts: 130
Карма: -10
   поощрить/наказать


PostPosted: Wed Jun 21, 2006 12:04 am (спустя 2 часа 6 минут; написано за 1 минуту 29 секунд)
   Post subject:
Reply with quote

Struchalin wrote:
Если смотреть с точки зрения бухгалтерии, то у склада есть приход и расход. В таком случае, нужна еще одна сущность - покупатель.
Есть такая сущность. Я просто не заикался о ней, она в принципе такая же, как и поставщик, с технологичской точки зрения.
И все-таки осуществлять покупку товара следует методом класса Production? КонтрАгентовский метод, в данном случае, ни к чему, как я понимаю...
Back to top
View user's profile Send private message
Struchalin
Заглянувший



Joined: 17 Nov 2005
Posts: 17
Карма: 2
   поощрить/наказать


PostPosted: Wed Jun 21, 2006 6:52 pm (спустя 18 часов 48 минут; написано за 3 минуты 22 секунды)
   Post subject:
Reply with quote

mus wrote:
И все-таки осуществлять покупку товара следует методом класса Production? КонтрАгентовский метод, в данном случае, ни к чему, как я понимаю...
Я это и имел ввиду. Товар->приход(кол-во) и Товар->расход(кол-во). Через контрагента проходят, по идее, деньги.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML