catpad (catpad) wrote,
catpad
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.</blockquote>
Парадигма, может быть, для кого-то и новая, но ещё в 1998 году мы с 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

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

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 12 comments