catpad: (Default)
[personal profile] catpad



Много раз в последнее время встречается упоминание так называемых lightweight containers - в противовес чудищу EJB это такие контейнеры, которые практически не затрагивают саму модель (и business logic) и предоставляют ей "прозрачные" сервисы.
Читаю книжку "Better, Faster, Lighter Java", Bruce A. Tate & Justin Gehtland, в которой описываются такие контейнеры - Spring, например. Так вот, теперь это называется The New Programming Paradigm, и состоит эта парадигма в основном из двух частей: Dependency Injection и Inversion of Control.
Последняя вкратце объясняется так:

Rely on configuration rather than a hardwired method call and trust the framework to wire your application together. A single assembler reads your configuration file, creates the beans that you've defined, and then initializes them, wiring them together in the process.

В качестве примера Dependency Injection приводится такой текст: In the process of dependency injection, the container satisfies two dependencies: the dependency of the data source on its configuration and the dependency of the Data Access Object on a data source. The coupling moves from code to configuration.
Парадигма, может быть, для кого-то и новая, но ещё в 1998 году мы с [livejournal.com profile] gianthare разработали и сделали этот самый lightweight container - вместе с автоматическим созданием Data Access Object, автоматическим связыванием компонентов и автоматическим же созданием web applications, плюс к тому специальный язык описания компонентов и компилятор с этого языка в Java. Скажем прямо, новые парадигмисты ещё до этого не скоро додумаются.
Всё это было сделано для лабораторного курса по Java и Software Engineering в хайфском Технионе.

Ещё раньше (году в 96-м) я попробовал сделать что-то вроде того, что сейчас IBM называет Eclipse, то есть универсальный User Interface, а точнее IDE для любых нужд со своим API, так, чтобы разработчики могли вставлять туда свои plug-ins. Потом я прочитал в IBM лекцию с теоретическими основами всего этого дела, а потом (в 2000 году) IBM сделало такую штуку самостоятельно. Ну и ладно.
Кстати, контейнер и язык, которые я описал выше, родился как раз из вот этого универсального User Interfacе'а.

Вообще, если вдруг кому-то интересно, то вот я тут собрал все материалы дела:
http://all-my-stuff.com/javalab

Всё это я говорю к тому, что мне, наверное, надо лучше прислушиваться к своим собственным идеям. Вот сейчас есть одна, надо её не упустить.

From: (Anonymous)
Да, очень интересно. Я как раз про такой магазин и спрашивал, но видимо как-то неясно написал.
From: [identity profile] catpad.livejournal.com
Тогда так:
Едете на станцию метро Гинза по линии Гинза (оранжевая). Выходите на exit A1. Перед вами будет круглая башня, на первом этаже - кафе Doutur (что-то вроде этого). На противоположной стороне через дорогу - большая красивая витрина магазина Wako (на этом здании ещё увидите часы на самом верху). Переходите дорогу к Wako и идёте прямо, никуда не сворачивая по этой стороне. По дороге увидите огромный магазин Apple. Через какое-то время (не помню точно, но не долго) на той же стороне будет крошечный магазин го. Ошибиться невозможно - он весь уставлен досками. Главное - не пропустите его.
From: (Anonymous)
Большое спасибо!
Page generated Feb. 6th, 2026 07:16 pm
Powered by Dreamwidth Studios