программистское | модные словечки
Jan. 12th, 2005 02:48 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
- Seprataion of concerns design principle
- separation of interface and implementation - это, впрочем, понятно, пользуемся, но есть ли четкие правила что и как интерфизировать?
- component-oriented programming - красивые слова, где за этим каждый понимает что-то своё, или всё же есть общий принцип?
- inversion of control - "драстуй, Весна" :)
Кое-что про компоненты (component-oriented programming):
ООП и связынные с ним дисциплины ОО дизайна и ОО анализа фокусируются на моделировании восприятия реального мира через речь и пытаются создать "глаголы"-методы и "существительные"-классы, чтобы использовать их можно было интуитивно. Идеально подходит для конечных пользователей.
С другой стороны, софтверная индустрия, особенно в больших продуктах, предпочитает "склеить" готовые компоненты, как это обычно делается в электронике или механике. Определение полезных компонент может быть при этом анти-интуитивным. В общем случае такое программирование не любит антропоморфизм и часто компоненты не годятся для использования конечным пользователем.
В общем, ничего нового, немного яснее, что имеется ввиду. MailService не работает как
new Mail(...).send()(интуитивно), а
locate("MailService").do("sendMail", new Mail());, что позволяет подставить любую компоненту если что.
Inversion of control
Ну это штука старая, как только видноуз стала вызывать нас по кнопкам мышки, а не мы опрашивали регистры в бесконечном цикле. Нового в нем - Dependency Injection, которая условно разбивается на:
- constructor injection
- setter injection
- interface injection
На самом деле все эти вещи обьединяются и различаются совсем не этим, а наличием локатора и менеджера сервисов и внешней конфигурации этого менеджера через XML или программно. Вот это важный момент. "Весенний", но непредвзятый обзор тут.
My definition
Date: 2005-01-12 07:58 pm (UTC)Ага. Всё правильно. Я дописал кое-что.
Date: 2005-01-12 08:31 pm (UTC)no subject
Date: 2005-01-12 10:23 pm (UTC)LocatorService.Locate("MailService"), далее по тексту.
логично. Важное замечание.
Date: 2005-01-12 11:04 pm (UTC)no subject
Date: 2005-01-13 03:06 am (UTC):-)
no subject
Date: 2005-01-13 03:19 am (UTC)Вышел новый ipod 3G кто купил?как оно?
Date: 2008-10-08 03:14 am (UTC)Цена канечно большая но штука говорят крутая!