Обновить

Комментарии 3

Спасибо, интересно. Мяу.

Очень хорошая статья, лайк!

Эта концепция универсальна и применима к любой парадигме:

  • В функциональном программировании это разграничение чистых неизменяемых значений и эффектов/состояний.

  • В проектировании баз данных это различие между схемой (абстракция) и записью в таблице (конкретная сущность с жизненным циклом).

  • В системном анализе это фундамент для разделения интерфейса (контракт, вид) и реализации (объект, состояние).

Поэтому можно было бы включить в отдельную статью, которая раскрывала бы также про:

  • Границы идентичности:

    • Парадокс корабля Тесея: если все атрибуты заменились — это та же сущность?

    • Версионность: Сотрудник(2024) и Сотрудник(2025) — один объект или два значения во времени?

    • Для предметного моделирования критично различать:

      • Изменение состояния (объект),

      • Смену идентичности (новая сущность),

      • Историю как сущность (временная шкала как объект первого класса).

  • Функции — частный случай связей. Полноценная онтология должна различать: преобразования (функции), ограничения (предикаты), ассоциации (отношения) и инварианты (правила целостности).

  • Композиция и структура. Мало говорится о том, как мелкие концепции собираются в крупные. («Заказ» = «клиент» + «товары», «Маршрут» = последовательность «точек»)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации