@oop_ru

Страница 586 из 785
Sergey
27.03.2018
19:01:07
Экземпляр класса
то есть "объект" это некая рантайм структура данных с указателями на процедуры?

то есть Си в каком-то смысле объектно ориентированный язык?

Aleh
27.03.2018
19:01:32
структура данных с указателями, а за окном хрущевская оттепель

Google
Sergey
27.03.2018
19:02:14
структура данных с указателями, а за окном хрущевская оттепель
ну вот я сча с DCI разбираюсь.... там "объект" представлен как некая структура данных, а поведение хранится в ролях.... и контекст задает твоим данным некие роли

Roman
27.03.2018
19:02:23
Наставь меня на путь истинный)

Vit
27.03.2018
19:02:46
они не существуют поодиночке - их согнали в классы

Sergey
27.03.2018
19:03:16
Наставь меня на путь истинный)
из того что я уже на эту тему прочитал все упирается в то.... что ООП нет. Нету. Не придумали. А все описывают как эталонное ООП на джаве не сделать. На C++ больше шансов сделать эталонное ООП чем на джаве

Дмитрий
27.03.2018
19:03:47
попробуй сформулировать то, как ты видишь объект
Для определения объекта мне требуется определение переменной)

Sergey
27.03.2018
19:04:04
Roman
27.03.2018
19:04:31
Hell
27.03.2018
19:05:00
Господа, как называется система с четко выраженной пайповой структурой чтения данных и записи

Дмитрий
27.03.2018
19:05:02
Sergey
27.03.2018
19:05:25
Переменной
мммм..... имутабельная переменная все еще переменная?

Google
Roman
27.03.2018
19:05:32
самый популярный вариант - ивенты
Я в вебе, и у меня CQRS, и я делаю квери. Ивенты - чёт такой себе вариант. Есть ещё какие-то способы?

Hell
27.03.2018
19:05:49
приложение с архитектурой Unix

Aleh
27.03.2018
19:05:49
мммм..... имутабельная переменная все еще переменная?
очевидно, зависит от того, что такое переменная ))

Sergey
27.03.2018
19:05:53
Я в вебе, и у меня CQRS, и я делаю квери. Ивенты - чёт такой себе вариант. Есть ещё какие-то способы?
у тебя проблема с тем что одному контексту для чего-то нужны данные из другого контекста?

Sergey
27.03.2018
19:06:14
Именно
тебе для UI или для логики?

для UI - пусть что-то сверху соберет их двух контекстов данных себе

Roman
27.03.2018
19:07:03
тебе для UI или для логики?
Для того чтобы с бэка одним запросом к апи дернуть чужой сервис, а потом у себя пошурудить в базке и данные вернуть.

Sergey
27.03.2018
19:07:06
для логики - надо смотреть и думать как можно перераспределить границы... либо через eventual consistency копировать данные по контекстам но это боль и ад

Roman
27.03.2018
19:07:38
для UI - пусть что-то сверху соберет их двух контекстов данных себе
Думали над этим как один из вариантов. Хотелось бы всё таки сделать одним вызовом, если это возможно.

Roman
27.03.2018
19:08:09
почему это два контекста?
Потому что они оперируют совершенно разными понятиями

И одно и то же в зависимости от контекста - имеет разный смысл

Вполне себе кандидаты на раздельные контексты

Sergey
27.03.2018
19:08:54
Переменной
переменная это идентификатор, позволяющий нам передавать/ссылаться на значения.

Roman
27.03.2018
19:09:23
один контекст и 2 базы?
2 контекста. У одного есть база, второй - это сервис, взаимодействующий с внешним апи.

Ну и соответственно моя категория товаров - эта не та же категория товаров, что в этом внешнем сервисе

Google
Roman
27.03.2018
19:10:38
И мой товар - не тот же, что и во внешнем сервисе

Sergey
27.03.2018
19:10:54
И мой товар - не тот же, что и во внешнем сервисе
ты из внешнего сервиса достаешь идентификаторы и по ним потом у себя ищешь

Roman
27.03.2018
19:10:56
Ну производителя и артикул

У нас просто все сервисы относятся к какому-то контексту. А нужно как-то эти 2 контекста объединить. Результатом выборки будут сущности из моего контекста.

Sergey
27.03.2018
19:13:07
....мне кажется тут какое-то выделение контекстов ради выделения контекстов

Вот куда эту третью штуку запихать?)
другой вопрос - куда запихнуть процесс затрагивающий пару контекстов? ну там сагу ту же

Roman
27.03.2018
19:13:59
....мне кажется тут какое-то выделение контекстов ради выделения контекстов
Ну эта штука на первых порах будет жить в том же процессе, что и мой локальный контекст, а потом в отдельный процесс и микросервис мимикрирует

Sergey
27.03.2018
19:14:06
и при этом все еще иметь возможность быстро осмотреть весь процесс

Roman
27.03.2018
19:14:26
Sergey
27.03.2018
19:14:35
а какая разница?)

ну то есть проблема одна и та же - есть штука которая как бы... сверху

над твоими контекстами

Roman
27.03.2018
19:15:15
над твоими контекстами
Ну чисто технически я возвращаю данные из своего контекста

Sergey
27.03.2018
19:15:17
в случае UI это какой-то гейтвей

в случае саг это может быть какой-то менеджер процессов

Roman
27.03.2018
19:15:43
Мб какой-то клиент сделать и его дергать из своего контекста?

Sergey
27.03.2018
19:15:45
Ну чисто технически я возвращаю данные из своего контекста
то есть твой контекст будет знать о другом контексте

Roman
27.03.2018
19:15:56
Он будет знать о клиенте только

Google
Hell
27.03.2018
19:16:07
https://habrahabr.ru/post/325092/

Sergey
27.03.2018
19:16:09
Мб какой-то клиент сделать и его дергать из своего контекста?
не все что у тебя в приложении является "частью контекста". Есть еще банальная инфраструктура. Есть что-то на уровне приложения.

Roman
27.03.2018
19:16:10
И о понятиях, которые в нем самом же есть

Sergey
27.03.2018
19:16:27
https://habrahabr.ru/post/325092/
Почитай Егора Багуенко

Hell
27.03.2018
19:17:04
https://habrahabr.ru/post/325092/
TL DR разбросанные по проекту new лучше чем SimpleInjector?

Roman
27.03.2018
19:17:05
о клиенте?
О клиенте, который скроет от нас знания из другого контекста.

Hell
27.03.2018
19:17:22
Sergey
27.03.2018
19:17:52
о, давай.... дай определение термину "ограниченный контекст"

Roman
27.03.2018
19:18:31
чеее?
Блин адаптер

Sergey
27.03.2018
19:18:57
Roman
27.03.2018
19:20:50
Ну типа там какой-то сервис, оперирующий своими сущностями внутри, но мне наружу от него надо совсем немножко данных, вот только их я и заберу.

Дмитрий
27.03.2018
19:21:18
переменная это идентификатор, позволяющий нам передавать/ссылаться на значения.
Следовательно, объект — это область в памяти, хранящая значение, на которую ссылается переменная. Подвох в том, что из другого определения переменной следует другое определение объекта, можно даже и другие определения подсовывать, типа функции

Roman
27.03.2018
19:21:19
И знать не буду о том как оно под капотом устроено и работает. Сделать простой контракт.

Sergey
27.03.2018
19:21:47
то есть на уровне рантайма у тебя так или иначе стэйт объекта отдельно а поведение отдельно

и ты просто задаешь поведению контекст

Roman
27.03.2018
19:22:15
@fes0r попахивает или нет?

Google
Sergey
27.03.2018
19:22:30
@fes0r попахивает или нет?
хз.... лишь бы небыло войны

Roman
27.03.2018
19:23:01
хз.... лишь бы небыло войны
Ты бы плевался от такого?

Roman
27.03.2018
19:23:10
Или можно жить?

Sergey
27.03.2018
19:23:19
Roman
27.03.2018
19:23:43
откуда ж я знаю)
Поставь мысленный эксперимент))

Sergey
27.03.2018
19:23:53
хз я.... у меня был бы api gateway который бы сначала дернул сервис который бы вернул артикли а потом яб ы попросил другой сервис собрать мне продукты по этим артиклям

если бы это стало неудобным - думал бы дальше

Sergey
27.03.2018
19:27:00
То есть пусть фронт это дергает?
api gateway, нечто между твоими контекстами и фронтом

Дмитрий
27.03.2018
19:27:11
а теперь давай рассуждать.... ключевой концепцией ООП было message passing....
Смотри в чём финт: мы построили объекты от переменных. но это не единственный валидный вариант, тут как с неевклидовой геометрией) Можно определить inbox и message, сформулировав акторы, и сделать object как поток сообщений об изменении

Sergey
27.03.2018
19:27:12
ну хз, короч

объекты = экторы а соль в сообщениях

плевать на объекты и что это такое, соль в том что есть что-то что взаимодействует. Если у тебя один объект - у тебя не ООП

Дмитрий
27.03.2018
19:28:17
Ну у нас время как ни крути линейно, а object в единственном числе

Sergey
27.03.2018
19:28:47
Roman
27.03.2018
19:28:53
api gateway, нечто между твоими контекстами и фронтом
Ну да, есть у меня такой. Просто фронт дергает апишку, та отправляет запросы в один контекст и возвращает результаты, а потом на их основе делает ещё один запрос, который уже внутри моего контекста искать будет

Верно?

Sergey
27.03.2018
19:29:07
http://wiki.c2.com/?AlanKaysDefinitionOfObjectOriented

The AlanKay definition of OO is largely that given by CarlHewitt for the ActorsModel which is a model of computation, not a programming paradigm. AlanKay has acknowledged explicitly this derivation. Versions of Smalltalk before Smalltalk-80 were still largely based on the (asynchronous, unidirectional) ActorsModel of computation, but with Smalltalk-80, the developers of SmalltalkLanguage switched entirely to the (synchronous, bidirectional) procedural model, while misleadingly retaining the ActorsModel terminology (such as "messages" for what essentially are procedure calls rather than one-way notifications). This has caused endless terminological difficulties especially when considering that the the other major sources of OO thinking--capability architectures and the SIMULA 67 research--were not in the least inspired by ActorsModel thinking.

Страница 586 из 785