Re[16]: DDD протаскивание других слоев через параметры методов Domain
От: #John Европа https://github.com/ichensky
Дата: 28.11.20 16:59
Оценка: 16 (1) +1 -1
Здравствуйте, samius, Вы писали:

J>>Напр. хамелеон умеет менять цвет кожи. В коде мы и должны описывать хамелеона:

J>>
J>>class Chameleon
J>>{
J>>    public Color skinColor { get; private set; }

J>>    public void ChangeSkin(Color color) => skinColor = color; 
J>>}
J>>

S>и чем же следующий хамелеон хуже?
S>
S>class Chameleon
S>{
S>    public Color skinColor { get; set; }
S>}
S>

Он попадает под описание процедурного стиля программирования: разбиение задачи программирования на набор переменных, структур данных и подпрограмм.

S>Не, ну это детский сад какой-то. Я предпочитаю опираться на принципы, сформулированные Кэйем. У него ничего нет про "данные и логика в одном объекте".


Алан Кэй пишет

OOP to me means only messaging, local retention and protection and
hiding of state-process, and extreme late-binding of all things.


"local retention" — это и есть отсылка к тому что состояние объекта находится внутри объекта.

Там же он пишет:

I thought of objects being like biological cells and/or individual computers on a network, only able to communicate with messages (so messaging came at the very beginning – it took a while to see how to do messaging in a programming language efficiently enough to be useful).


Биологические клетки свое состояние держат внутри себя, имеют разный набор данных(митохондрии, рыбосому, цитозоль), имеют разное поведение, и общаются посредством передачи ионов и молекул через каналы.
Підтримати Україну у боротьбі з країною-терористом.

https://prytulafoundation.org/
https://u24.gov.ua/

Слава Збройним Силам України!!! Героям слава!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.