Различные гамбургеры имеют разные начинки, такие как сыр, лук, говядина, салат.Давайте рассмотрим гамбургеры и чизбургеры как возможные экземпляры бургеров, а свойство объекта "has_Topping" определит их свойства.
Сначала мы хотим смоделировать фабрику бургеров, в которой каждый производимый бургер является экземпляром.Итак, у нас есть чизбургер_1, гамбургер_1, чизбургер_2, гамбургер_1.И у каждого бургера есть свои собственные экземпляры начинки, например,
<cheeseburger_1> <has_Topping> <cheese_1> ;
<has_Topping> <beef_1>.
<cheeseburger_2> <has_Topping> <cheese_2> ;
<has_Topping> <beef_2>.
. В соответствии с этим has_Topping не функционален, но обратен (поскольку топпинг определяет, для какого бургера он является составляющим).Кроме того, has_topping является несимметричным и нерефлексивным.Правильно?
Во-вторых, мы хотим смоделировать базу данных рецептов бургеров.Поэтому у нас есть только один рецепт оригинального чизбургера и гамбургера.Наши начинки существуют только один раз.
<hamburger> <has_Topping> <beef>;
<has_Topping> <salad>.
<cheeseburger> <has_Topping> <beef>;
<has_Topping> <cheese>.
В соответствии с этим has_Topping не является функциональным и не обратно-функциональным (поскольку начинка не определяет, для какого бургера она является составляющей).Кроме того, has_topping является несимметричным и нерефлексивным.Правильно?
Являются ли выбранные характеристики правильными в соответствии с конкретными случаями использования или существует ошибка мышления?