Субъектно-ориентированное программирование

Субъе́ктно-ориенти́рованное программи́рование (англ. subject - oriented programming, SOP; в дальнейшем СОП) — метод построения объектно-ориентированных систем, как композиции субъектов. Однозначный общепринятый перевод термина subject-oriented programming на русский язык на сегодняшний момент не выработан[1].

В целом СОП включает:

  • разбиение системы на субъекты;
  • написание правил для их правильной композиции.

СОП дополняет объектно-ориентированное программирование (в дальнейшем ООП), решая проблемы, возникающие при разработке больших систем, при решении задач интеграции и переносимости.

Субъект в СОП — это коллекция классов или фрагментов классов, представляющих свою (субъективную) иерархию классов. Субъектом может быть само приложение, либо часть приложения, объединение которой с другими субъектами даёт приложение целиком. Композиция субъектов комбинирует иерархию классов так, что получаются новые субъекты, включающие функциональность существующих субъектов.

Сравнение с ООП править

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

Примечания править

  1. Термин в клетке Архивная копия от 8 декабря 2016 на Wayback Machine К.Курбатов. «Компьютерра» №16 от 27 апреля 2006 года

Литература править

  • А. Петриковский. Субъектное программирование // «Компьютерра». — 05.04.2006. — № 13.
  • А. С. Миронченко. 19.4. Недостатки объектно-ориентированных языков // Императивное и объектно-ориентированное программирование на Turbo Pascal и Delphi / ктн., доц. И. Е. Мазурок. — Одесса: ВМВ, 207. — С. 380, 381. — 408 с. — 200 экз. — ISBN 978-966-413-039-1 ББК 32.973.2-018 М462 УДК 004.438.

Ссылки править