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

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

Date: 2005-02-04 08:05 am (UTC)
From: [identity profile] catpad.livejournal.com
Это верно, с этим у меня беда :)

Date: 2005-02-04 08:09 am (UTC)
From: [identity profile] dixi.livejournal.com
Я думаю, блоги сейчас позволяют становиться "законодателем мод" немного проще чем раньше за счёт цепной реакции.

Заводится блог, в нём интересно, иронично пишутся вещи по выбранной тематике, побольше (но в меру) пафосных слов типа Парадигмы. Ещё можно немного провокативно чтобы кто-нибудь затеял дискуссию, и написал ответ в своём блоге. И - понеслась.

Только вот часто за всей этой деятельностью можно забыть про собственно программирование и идеи.

Date: 2005-02-04 08:12 am (UTC)
From: [identity profile] catpad.livejournal.com
Ну, во-первых, для этого нужно большое желание прославиться (Как Joel Spolsky, например, хоть он и молодец). А во-вторых - "за всей этой деятельностью можно забыть про собственно программирование и идеи" :)
Так что я лучше буду Тихой Парадигмой.
Page generated Feb. 6th, 2026 03:00 pm
Powered by Dreamwidth Studios