vitaly_74, Если и сейчас ты не поймешь:
ООП - это парадигма, где архитектура построена на объектах и связях между ними. Точка. Больше там нет других вещей.
"Сервис" в ООП - это абстрактное понятие для конкретного класса (это значит, что он может быть и объектом или просто классом с методами). Равно как "Фабрика".
"Доменный объект" - это абстрактное понятие для описания объекта, который представляет сущность, например "Пользователь" или "Товар".
vitaly_74, "Доменный объект" - это сущность предметной области в которой он применяется. Это может быть вообще не класс (не объект, экземпляр класса), а просто структура.
Доменный объект не является понятием из ООП, это просто понятие для архитектуры бизнес логики
vitaly_74, во-первых, нет такого понятия как "СОП", есть СОА. Сервис-ориентированная архитектура. И это не об ООП, как сказали тебе в первом ответе. И это именно то, о чем я сказал во втором абзаце своего ответа.
Во-вторых, объект в ООП - это всегда объект и не важно что он из себя представляет или какая роль ему отведена. Сервис это или фабрика или синглтон - это всё равно просто объект (класс).
vitaly_74, при этом сервис тоже является объектом. Хоть и может по сути представлять только простой интерфейс. Но для его работы ты все равно должен создать этот класс с реализацией методов и потом инициализировать экземпляр класса сервиса, если, например, методы не являются классовыми
vitaly_74, сервис в ООП, как я уже сказал - это часть паттерна(шаблона). Как фабрика.
Но всё это всё ещё и есть ООП!
Реакция может быть разной, не обязательно меняющей состояние.
А сервис может делать что хочет. Хранить состояние или не хранить. Быть единственным в архитектуре, или быть один из десятков. Синглтоном или фабричным произведением.
В центре ООП находится понятие объекта. Объект — это сущность, которой можно посылать сообщения и которая может на них реагировать, используя свои данные. Объект — это экземпляр класса. Данные объекта скрыты от остальной программы.
kan3k1k3n,
и ваша функция кривая. К ошибке не приводит, но она кривая. Должно быть примерно так
function IsPrime(n: integer): boolean;
var
i: Integer;
begin
for i := 2 to (n div 2) do
if (n mod i = 0) then
Exit(False);
Result := True; {число - prime}
end;
Только забыли отметить, что удаление при этом возможно. Если мы удаляем владельца, удалятся также и все животные этого владельца (если так настроить) (каскадное удаление)
Руслан Пикулин, ну это спорное утверждение. Работают программы на новых версиях наоборот на порядок лучше и эффективнее. А эта сборка является не официальной и лишь содержит какие-то особые пакеты и возможно исправления багов, которые и так поправили в новых версиях. Так что, если вам не требуются какие-то старые, специальные пакеты, которые не поддерживаются в новых версиях, рекомендую использовать именно свежую версию.
ООП - это парадигма, где архитектура построена на объектах и связях между ними. Точка. Больше там нет других вещей.
"Сервис" в ООП - это абстрактное понятие для конкретного класса (это значит, что он может быть и объектом или просто классом с методами). Равно как "Фабрика".
"Доменный объект" - это абстрактное понятие для описания объекта, который представляет сущность, например "Пользователь" или "Товар".