Re[31]: Что если не разделять строго dto, entity, bo...
От: Qulac Россия  
Дата: 31.01.26 16:42
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, Qulac, Вы писали:


Q>>>>Мы имеем то что имеем, хоть с ооп хоть без ооп. Я бы выбрал приведеный пример с дженериками.

G>>>Он же в итоге не полностью описывает ограничения предметной области.
Q>>Где не полностью?

G>
G>abstract class Player<TWeapon>  where TWeapon : Weapon
G>{
G>  TWeapon Weapon { get; set; }
G>}
G>sealed class Wizard : Player<Staff> { }
G>sealed class Warrior : Player<Sword> { }
G>

G>Ты про этот пример:
G>Любой метод, который принимал Player теперь не сможет принять Wizard или Warrior.
G>Это не будет масштабироваться. Если добавить требования «игрок может носить доспехи, а волшебник может носить только мантию», и «игрок может читать книги, а воин может читать только немагические книги», то все быстро развалится.


G>>>>>А в реальности ДДД мы разве не прибиваем домен к "общему языку" и фактически не можем менять произвольно модель?

Q>>>>Фраза:"Игроку дали оружие" не имеет смысла в не контекста. Кто дает? Если про игру то это возможно какой другой игровой персонаж. Тогда проблема решается перегрузкой методов или шаблоном "визитер"
G>>>А ты дальше второй части читал? Там есть и перегрузка и визитер.
Q>>Ну и хорошо.
G>Ничего хорошего в итоге не получилось. Куча кода и dynamic dispatch в рантайме, никакого контроля оишбков на уровне системы типов, то есть того, ради чего система типов и затевалась.

все ясно продолжать не имеет смысла.
Программа – это мысли спрессованные в код
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.