Оберон-клуб «ВЄДАsoft»
https://zx.oberon.org/forum/

Компонентность Oberon, IoC итд
https://zx.oberon.org/forum/viewtopic.php?f=79&t=257
Страница 1 из 3

Автор:  enemy [ 08 окт 2015, 09:55 ]
Заголовок сообщения:  Компонентность Oberon, IoC итд

Тут по форуму сквозной нитью прошито, Оберон это модульный и компонентный язык/среда.

С модульностью, еще как то можно согласиться, хотя опять же с оговорками.
А вот понятие Оберон компонентный язык/среда, уже точно не согласуется с современным требованием к этому понятию.

Т.е. на данный момент, Oberon не является компонентной средой.

Простейший пример, IoC, можно ли реализовать этот паттерн проектирования на Oberon ?

Автор:  Иван Кузьмицкий [ 08 окт 2015, 16:50 ]
Заголовок сообщения:  Re: Компонентность Oberon, IoC итд

IoC реализован в каркасе BlackBox, а вам следует пойти грамоте обучиться. Деревенских тут не очень, знаете ли...

Автор:  Zorko [ 08 окт 2015, 16:53 ]
Заголовок сообщения:  Re: Компонентность Oberon, IoC итд

Почерпнул на Хабре
Цитата:
IoC (Inversion of Control) – это паттерн, в котором управление объектом (в нашем случае – временем жизни объекта) поручено какой-то компоненте. Некий такой аутсорс – вместо того чтобы создавать объект самим (через new()) мы запрашиваем его у т.н. IoC-контейнера, то есть у фабрики, которая умеет грамотно производить объекты.
Ну да, такое реализовать на Обероне можно.

Автор:  enemy [ 08 окт 2015, 17:24 ]
Заголовок сообщения:  Re: Компонентность Oberon, IoC итд

Иван Кузьмицкий писал(а):
IoC реализован в каркасе BlackBox, а вам следует пойти грамоте обучиться. Деревенских тут не очень, знаете ли...

Можно буквально на пальцах, как выглядит в ББ?

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

Как можно перевести этот код на КП для ББ?
http://pastebin.com/keHb8EPG

Автор:  enemy [ 08 окт 2015, 17:39 ]
Заголовок сообщения:  Re: Компонентность Oberon, IoC итд

Zorko писал(а):
Почерпнул на Хабре
Цитата:
IoC (Inversion of Control) – это паттерн, в котором управление объектом (в нашем случае – временем жизни объекта) поручено какой-то компоненте. Некий такой аутсорс – вместо того чтобы создавать объект самим (через new()) мы запрашиваем его у т.н. IoC-контейнера, то есть у фабрики, которая умеет грамотно производить объекты.
Ну да, такое реализовать на Обероне можно.

Ну смесь фабрики классов + ServiceLocator тоже можно с натяжкой назвать IoC, думаю стоит дополнить, что меня больше интересует, возможность реализации DI (внедрение зависимостей)

Автор:  Иван Кузьмицкий [ 08 окт 2015, 17:48 ]
Заголовок сообщения:  Re: Компонентность Oberon, IoC итд

enemy писал(а):
Можно буквально на пальцах, как выглядит в ББ?
Для начала представьтесь, пожалуйста. Кто вы, чем занимаетесь, насколько большой у вас опыт программирования и чем вызван интерес к Оберону.

Автор:  enemy [ 08 окт 2015, 17:58 ]
Заголовок сообщения:  Re: Компонентность Oberon, IoC итд

Иван Кузьмицкий писал(а):
enemy писал(а):
Можно буквально на пальцах, как выглядит в ББ?
Для начала представьтесь, пожалуйста. Кто вы, чем занимаетесь, насколько большой у вас опыт программирования и чем вызван интерес к Оберону.

Что бы не усложнять, буду простым деревенским парнем, с 12 летним опытом возделывания it целины, интерес к оберону, Олег вызвал на одном из форумов, вот хочу проверить мощь оберона

Автор:  Иван Кузьмицкий [ 08 окт 2015, 22:23 ]
Заголовок сообщения:  Re: Компонентность Oberon, IoC итд

enemy писал(а):
Что бы не усложнять, буду простым деревенским парнем, с 12 летним опытом возделывания it целины, интерес к оберону, Олег вызвал на одном из форумов, вот хочу проверить мощь оберона
Чото не верится про 12 лет, честно. Такая дремучесть. Гуманитарное образование, поди.

Нда. Так вот, IoC известен с незапамятных времён: https://www.dre.vanderbilt.edu/~schmidt ... works.html
Конкретно для ББ был сделан специальный язык, КП, который позволяет удобно сделать фреймворк с этой самой инверсией. Коммерческая версия ББ появилась аж 20 лет назад. То есть, уже как минимум 20 лет, этот самый паттерн успешно применяется в оберон-среде. Ты ещё был в бессознательном состоянии, а его уже использовали вовсю. Да и не только его, ББ вообще чуть ли не по книге GoF делался.

И вот спустя 20 лет приходишь ты, простой деревенский парень и начинаешь спрашивать, возможен ли IoC в обероне. И какой ты собираешься получить ответ?

Я могу сказать, что за 12 лет можно макаку научить текст набирать. Только она в этом наборе ничего понимать не будет, примерно как и ты.

Автор:  enemy [ 08 окт 2015, 22:40 ]
Заголовок сообщения:  Re: Компонентность Oberon, IoC итд

Иван Кузьмицкий писал(а):
enemy писал(а):
Что бы не усложнять, буду простым деревенским парнем, с 12 летним опытом возделывания it целины, интерес к оберону, Олег вызвал на одном из форумов, вот хочу проверить мощь оберона
Чото не верится про 12 лет, честно. Такая дремучесть. Гуманитарное образование, поди.

Мне честно говоря Ваша половая драма не интересна, особенно причины по которым набрасываетесь с оскорблениями на незнакомого человека. Но ладно балаган разводить не будем.

Меня больше интересует ответ на поставленный вопрос, если нет нужных знаний, просьба острить где то в более приличном месте.

IoC DI позволяет сделать код более читаемый и одновременно более надежный, я на всех языках в которых практикую на комерческую деятельность, использую эти технологии в обязательном порядке, более того, для хобби я их так же использую, опять же позволяет быстрее добиться результатов в сжатые сроки личного времени

Автор:  Иван Кузьмицкий [ 08 окт 2015, 22:44 ]
Заголовок сообщения:  Re: Компонентность Oberon, IoC итд

enemy писал(а):
Иван Кузьмицкий писал(а):
Мне честно говоря Ваша половая драма не интересна, особенно причины по которым набрасываетесь с оскорблениями на незнакомого человека. Но ладно балаган разводить не будем.
Балаган разводишь тут как раз ты, делая идиотские утверждения и задавая идиотские вопросы. Каждый год появляются всё новые папуасы, ты далеко не первый и не последний.

Страница 1 из 3 Часовой пояс: UTC + 2 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/