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

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

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

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

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

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

Сравнение с ООП

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

Примечания

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

Литература

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.