Size: a a a

Архитектура ИТ-решений

2019 December 11

DM

Denis Migulin in Архитектура ИТ-решений
Phil Delgyado
Да почти все в тяжелом энтрепрайзе )
Ну почему же, они решают проблемы... которые создают другие такие же роли
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, это все трение...
источник

IN

Igor Nikolskiy in Архитектура ИТ-решений
Phil Delgyado
Ну, это все трение...
И потом роды. Иногда продукта, а иногда только вОды
источник

VD

Vitaly Derbin in Архитектура ИТ-решений
Igor Nikolskiy
1) Есть домашний/институский компьютер, ты написал программу.
2) По Grid-сети ты послал её в ЦУП-Grid-а
3) Прогаммка попала после ЦУП в конкретный свободный узел, после кросскомпиляции запустилась на мощностях под присмотром играющего тренера
Ну по описанию это просто какой-то OpenMpi(которому уже 100500 лет), но, подозреваю, что изначально имелось в виду что-то типа https://darklang.com
источник

DZ

Denis Zarin in Архитектура ИТ-решений
Daria Kaftan
А что, в ИТ есть какие-то роли, которые не направлены на решение проблем?
Problem solving не равно engineering.
Я про создание артефактов и проектирование, как сущностную часть работы.
источник
2019 December 12

AW

Alex Wells in Архитектура ИТ-решений
Привет. Веб проект.

сейчас на проекте используем почти полностью anemic design model, чуток ddd.

Прочел, что обычно идут на компромис, используя DDD только в случаях работы с стейтом самого энтити и ничем более.

Вопрос: если у энтити есть какой-то тип, по которому из какого-нить registry можно вытащить definition для этого типа (всякая инфа по нему), то насколько метод в энтити, отдающий этот самый definition (вытягивая из registry по собственному типу) влазит в DDD?
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Alex Wells
Привет. Веб проект.

сейчас на проекте используем почти полностью anemic design model, чуток ddd.

Прочел, что обычно идут на компромис, используя DDD только в случаях работы с стейтом самого энтити и ничем более.

Вопрос: если у энтити есть какой-то тип, по которому из какого-нить registry можно вытащить definition для этого типа (всякая инфа по нему), то насколько метод в энтити, отдающий этот самый definition (вытягивая из registry по собственному типу) влазит в DDD?
Вопрос, зачем? Зачем из registry вытаскивать definition entity? Зачем вообще definition энтити в registry? Но если вы и сможете объяснить причины, то такого метода у энтити, особенно в соответствии с ddd, быть точно не должно.
источник

AW

Alex Wells in Архитектура ИТ-решений
Gennadiy Kruglov
Вопрос, зачем? Зачем из registry вытаскивать definition entity? Зачем вообще definition энтити в registry? Но если вы и сможете объяснить причины, то такого метода у энтити, особенно в соответствии с ddd, быть точно не должно.
Не дефинишен энтити, а дефинишен ТИПА энтити.
источник

AW

Alex Wells in Архитектура ИТ-решений
Там может быть любая инфа, которая касается конкретно ТИПА
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Alex Wells
Не дефинишен энтити, а дефинишен ТИПА энтити.
Я это и имел ввиду. Зачем?
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Alex Wells
Там может быть любая инфа, которая касается конкретно ТИПА
Зачем нужна эта инфа? Вам рефлексии не хватает?
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
И кому нужна эта инфа?
источник

AW

Alex Wells in Архитектура ИТ-решений
Gennadiy Kruglov
Я это и имел ввиду. Зачем?
Ну, допустим есть какая-то система, отвечающая за опции (опция равно какая-то фича, которую обычно дают с какой-то подпиской. Например, в плане за 9 баксов есть фича 1, а в плане за 99 есть фича 2 и 3). Есстественно сама система ничего не знает, какие там опции есть в клиентском коде.

Она умеет с ними работать - создавать, вытягивать, удалять, менять - через интерфейсы. Собственно клиентский код регистрирует типы опций через registry - те самые фичи 1, 2 и 3.

Фича 1 использует один обьект с данными и своей сериализацией, фича 2 - другой, фича 3 - третий.

Фича 1 предоставляет интерфейс для работы с ней извне, фича 2 - другой, фича 3 - третий
источник

AW

Alex Wells in Архитектура ИТ-решений
Вот и каждая фича - имеет свой definition, который регистрируется в registry
источник

AW

Alex Wells in Архитектура ИТ-решений
А теперь у инстенса Option, допустим, есть поле type - фича_1, фича_2, фича_3. По этому идентификатору можно вытащить из registry ее definition - что бы работать с ним в дальнейшем.

По моему это ddd в полном его проявлении)
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Всё плохо.

Во первых, Тип Entity - это класс. Определение (definition) класса - это сам класс, узнать всю информацию о классе можно с помощью рефлексии.

Например, конкретная фича (фича под номером 1) - это объект (экземпляр)  класса Фича. Поскольку класс Фича одновременно ещё и тип сущности (энтити), то получить определение этого типа можно с помощью рефлексии.

Вопрос, какая нужна информация о типе сущности, которую нельзя получить с помощью рефлексии?
источник

AW

Alex Wells in Архитектура ИТ-решений
Gennadiy Kruglov
Всё плохо.

Во первых, Тип Entity - это класс. Определение (definition) класса - это сам класс, узнать всю информацию о классе можно с помощью рефлексии.

Например, конкретная фича (фича под номером 1) - это объект (экземпляр)  класса Фича. Поскольку класс Фича одновременно ещё и тип сущности (энтити), то получить определение этого типа можно с помощью рефлексии.

Вопрос, какая нужна информация о типе сущности, которую нельзя получить с помощью рефлексии?
Причем тут рефлекция? Каким образом имея поле "type" со значением "фича_1" мне рефлекция поможет вытащить конфигурацию для этого типа, вызвать фабрику каких-то обьектов, присущим этому типу (это реальный юс кейс, детали упускаются) или узнать, как и во что десериализировать данные из поля "data"?

id | type | data
1  | f1       | 123
2  | f2       | {"sections": ["one", "two"]}
3  | f1       |  877


Имея такие данные, каким образом мне десириализировать data в обьект типа LimitedOptionData для опций 1 и 3, и в обьект типа SectionedOptionData  для опции 2?

Каким образом мне создать обьекты типа  F1OptionPresenter для опций 1 и 3, и обьект типа F2OptionPresenter для опции 2?

Рефлекция тут ни при чем.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Alex Wells
Причем тут рефлекция? Каким образом имея поле "type" со значением "фича_1" мне рефлекция поможет вытащить конфигурацию для этого типа, вызвать фабрику каких-то обьектов, присущим этому типу (это реальный юс кейс, детали упускаются) или узнать, как и во что десериализировать данные из поля "data"?

id | type | data
1  | f1       | 123
2  | f2       | {"sections": ["one", "two"]}
3  | f1       |  877


Имея такие данные, каким образом мне десириализировать data в обьект типа LimitedOptionData для опций 1 и 3, и в обьект типа SectionedOptionData  для опции 2?

Каким образом мне создать обьекты типа  F1OptionPresenter для опций 1 и 3, и обьект типа F2OptionPresenter для опции 2?

Рефлекция тут ни при чем.
Вы в каком классе учитесь?
источник

AW

Alex Wells in Архитектура ИТ-решений
Gennadiy Kruglov
Вы в каком классе учитесь?
Ясно) Подожду пока вы загуглите что такое рефлекция, приходите как только.
источник

AW

Alex Wells in Архитектура ИТ-решений
Я ожидал что после примера выше вопрос об рефлекции отпадет сам собой, но нет. Даже на второй раз не отпал.
источник