Перейти к публикации

отличие Класса от Объекта


Рекомендованные сообщения

Дорогие коллеги. Который год работаю с ТС, и до сих пор ни кто не смог мне ответить. Зачем нужны классы? Вся работа в BMIDE происходит с бизнес-объектами и их атрибутами (только почему-то называются свойства). В чём сущность классов хранения и  их атрибутов. В каких ситуациях лучше работать с классом, а не с БО. Зачем создавать у БО свой личный класс хранения, а не пользоваться уже существующим? Что есть понятие класса в java в курсе, но как это соотнести с работой в BMIDE не могу, или это просто совпадение. 

Ссылка на сообщение
Поделиться на других сайтах


Класс - по сути табличка в БД

Объект - представление некоторой сущности (ох как не люблю это слово:))

Но объекту надо же где то размещаться и поэтому у него есть класс хранения ака табличка в бд

свойства = атрибут но у свойства больше возможностей.

и с объектами и с их свойствами вы работаете за счет бизнес-логики TC.

в 99.99999% нужно работать с БО

Зачем создавать у БО свой личный класс хранения, а не пользоваться уже существующим?

так надо если не сказано иначе, считайте это догма.

Что есть понятие класса в java в курсе, но как это соотнести с работой в BMIDE не могу, или это просто совпадение.

класс в Java, вы имеете ввиду class myclass ?

Ссылка на сообщение
Поделиться на других сайтах

Ownd_hard, дайте угадаю, Вы наверное тоже до того, как знакомиться с ТС, уже имели опыт работы в, скажем, С++ и прочих подобных языках, поддерживающих объектно-ориентированную парадигму?

А когда стали работать с ТС, то пришли в небольшой ужас, от того, что здесь терминология (я про класс в том числе), слегка имеет если не противоположное значение, то свои нюансы?

 

Ситуация ведь ещё осложняется тем, что до 8-й версии TC были одни положения, начиная с 8-й - немного другие свои.

 

А вы читали внимательно server_customization_programmers_guide.pdf?

Просто там на первых нескольких десятках страниц ваши вопросы раскрываются.

 

Вся работа в BMIDE происходит с бизнес-объектами и их атрибутами (только почему-то называются свойства).

 

Потому что свойства это более глобальное понятие.

Свойства могут быть типа attribute, а могут быть runtime и т.д.

А attribute он всегда, грубо говоря, persistence.

 

Зачем создавать у БО свой личный класс хранения, а не пользоваться уже существующим?

 

А его разве обязательно во всех случаях надо создавать?

Вторичные БО вроде не требуют отдельного класса хранения сами по себе, а используют уже существующий, родительский.

Разве что бизнес-объекту надо будет иметь свое личное persistence property, но тогда это будет уже не вторичный БО.

А если вам надо своё presistence property, то значит вам нужен отдельный столбец в таблице под это свойство.

И как вы будете расширять родительскую таблицу под это дело?

Какое значение этого свойства получать экземпляры БО, которые раньше и понятия об этом свойстве не имели?

Изменено пользователем Ленивый
Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...

Дорогие коллеги. Который год работаю с ТС, и до сих пор ни кто не смог мне ответить. Зачем нужны классы? Вся работа в BMIDE происходит с бизнес-объектами и их атрибутами (только почему-то называются свойства). В чём сущность классов хранения и  их атрибутов. В каких ситуациях лучше работать с классом, а не с БО. Зачем создавать у БО свой личный класс хранения, а не пользоваться уже существующим? Что есть понятие класса в java в курсе, но как это соотнести с работой в BMIDE не могу, или это просто совпадение.

То, что вы видите в интерфейсе клиента, это бизнес-объекты. Атрибуты бизнес объектов хранятся в таблицах базы данных и, проще говоря, класс с точки зрения Teamcenter соответствует отдельной таблице.

 

Бизнес-объект в отличии от класса содержит дополнительно runtime свойства, которые не хранятся в таблицах базы данных, а вычисляются "на лету".

 

При создании бизнес-объекта создают новый класс хранения, если хотят добавить атрибут, который не должен распространятся на вышестоящий по иерархии объект (класс). Другим словами, если вы будите использовать один и тот же класс для нескольких бизнес-объектов перечень используемых атрибутов у них будет одинаков. Т.е. я хочу сказать, что это не догма, использовать всегда свой класс хранения для бизнес объекта, но чаще всего так и получается. Определяет все логика работы.

 

Класс java это описание какого-то шаблона объекта (в противоположность экземпляру) в программной среде. С это точки зрения, когда вы разрабатываете код для клиента, наверное бизнес-объект наиболее близок к классу java, т.к. класс java будет описывать работу как с атрибутами хранящимися в базе данных, так и с runtime свойствами бизнес объектов. Но, по-сути, разрабатывая код, вы будете работать с экземплярами бизнес-объектов в коде. :)

 

Для наглядности, содержание класса и таблицы

10838108.png

Изменено пользователем Igor79
Ссылка на сообщение
Поделиться на других сайтах

Igor79, табличку в SQL-нотации можно в самом BMIDE в таком удобном виде вывести, или Вы её через отдельный инструмент делали, а потом к скриншоту прилепили?

Ссылка на сообщение
Поделиться на других сайтах
Вы её через отдельный инструмент делали, а потом к скриншоту прилепили

Именно так

 

Krusty, все нормально.

 

PS. Ленивый, только руками таблицы не правьте. Читать можно, а вот править - не надо.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...