Сервис-ориентированное программирование vs ООП

by Темных Сергей 26.03.2009 19:03:00

Новое веяние - сервис-ориентированное программирование, отменяет ООП или дополняет? Попробуем разобраться...

В SO все основные понятия OO сохранились, т.е. есть объекты, есть обмен сообщениями, есть интерфейсы (контракты).

Замечу, что классы, наследования, шаблоны и т.д. в mainstream OO введены только для того, чтобы быстрее реализовать код, и эти концепции никак не помогают взаимодействию между объектами.

Т.е. наследование, классы, шаблоны — все это есть только на этапе разработке, как только мы программу запустили, то никакого наследования (наследования реализации), классов, шаблонов — нет. Есть только объекты, сообщения (вызовы методов) и интерфейсы(контракты) и все.

В данном случае, мы имеем не отрицание ОО, а скорее смещение центра тяжести. Если в обычном программировании — мы сами управляем каждым объектом. временем его и жизни и т.д., то в распределенном мире (в мире сервисе) мы уже не можем управлять чужими объектами, мы можем только с ними общаться.

Вот мы и имеем смещение, в первую очередь, к общению между объектами, вместо более раннего центра тяжести — реализации объектов. Смещение к этапу выполнения вместо этапа разработки.

Все три кита ООП остались и в СОП (местами немного модифицировавшись):

1. Инкапсуляция - полностью осталась, и даже пошла дальше.  Вместо слов public, protected, private - появились роли, которые намного гибче регулирует доступность внутреннего состояния сервиса. например, роль "пользователь" в форуме одно, а роль "модератор" - уже больше, а роль "админ" вообще почти всё.

2. Наследование - заменилось на агрегацию, как еще в древнем COM-е (в котором тоже не было наследования, но была агрегация)

3. Полиморфизм - полностью остался, и активно продвигается на всех уровнях - появились такие стандарты как rss, ajax, openid и т.д., а под этими стандартами самые различные реализации

Текущий рейтинг: 3.0 (2 голосов)

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Похожие записи

Powered by BlogEngine.NET 1.3.1.0
Theme by Mads Kristensen

Сергей Темных

Модулятор


Calendar

<<  Август 2017  >>
повтсрчепясуво
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar

Страницы

    Последние комментарии

    Категории

    None


    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2017

    Sign in