~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 992D1486CFA1DEE0D2F8B0C50FDB242E__1707417540 ✰
Заголовок документа оригинал.:
✰ Subject-oriented programming - Wikipedia ✰
Заголовок документа перевод.:
✰ Предметно-ориентированное программирование — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Subject-oriented_programming ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/99/2e/992d1486cfa1dee0d2f8b0c50fdb242e.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/99/2e/992d1486cfa1dee0d2f8b0c50fdb242e__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 10:35:14 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 8 February 2024, at 21:39 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Предметно-ориентированное программирование — Википедия Jump to content

Предметно-ориентированное программирование

Из Википедии, бесплатной энциклопедии

В вычислительной технике предметно -ориентированное программирование — это объектно-ориентированная парадигма программного обеспечения , в которой состояние (поля) и поведение (методы) объектов не рассматриваются как присущие самим объектам, а обеспечиваются различными субъективными восприятиями («субъектами»). объектов. Термин и концепции были впервые опубликованы в сентябре 1993 года в докладе конференции. [1] который позже был признан одним из трех наиболее влиятельных документов, представленных на конференции в период с 1986 по 1996 год. [2] Как показано в этой статье, проводится аналогия с контрастом философских взглядов Платона и Канта на характеристики «реальных» объектов, но применительно к программным. Например, хотя мы все можем воспринимать дерево как имеющее измеримую высоту, вес, массу листьев и т. д., с точки зрения птицы, дерево также может иметь меры относительной ценности для еды или гнездования, или с точки зрения налогового инспектора, он может иметь определенную налогооблагаемую стоимость в данном году. Дополнительную информацию о состоянии ни птицы, ни налогового инспектора не следует рассматривать как внутреннюю для дерева, она добавляется восприятием птицы и налогового инспектора, и, согласно анализу Канта, то же самое может быть верно даже для характеристик, о которых мы думаем. как внутреннее.

Предметно-ориентированное программирование предполагает организацию классов , описывающих объекты , в «субъекты», которые можно объединять в более крупные предметы. В точках доступа к полям или методам могут быть составлены вклады нескольких субъектов. Эти точки были охарактеризованы как точки соединения. [3] предметов. Например, если дерево срублено, используемые методы могут потребовать объединения поведения птицы и испытуемых налогового инспектора с поведением самого дерева. Таким образом, по сути, это взгляд на композиционную природу разработки программного обеспечения, в отличие от алгоритмической (процедурной) или скрывающей представление (объектной) природы.

Отношения [ править ]

-ориентированным программированием Связь с аспектно

Внедрение аспектно-ориентированного программирования в 1997 году. [4] поднял вопросы о его отношении к предметно-ориентированному программированию, а также о разнице между предметами и аспектами. Некоторое время эти вопросы оставались без ответа, но были решены в патенте на аспектно-ориентированное программирование, поданном в 1999 году. [5] в котором два момента выступают как характерные отличия от более раннего искусства:

  • аспектная программа включает в себя как а) сквозной фрагмент, который содержит точку выполнения, в которую должно быть включено сквозное поведение; и b) сквозное действие, содержащее часть реализации, связанную с сквозным переходом, причем эта часть реализации содержит машиночитаемый программный код, который реализует сквозное поведение.
  • этот аспект прозрачно навязывает сквозное поведение классам объектов и другим объектам программного обеспечения.

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

В представлении предметно-ориентированного программирования точки соединения были намеренно ограничены доступом к полям и вызовом методов на том основании, что это были точки, в которых хорошо спроектированные структуры были спроектированы так, чтобы допускать функциональное расширение. Использование навязанных извне точек является важной лингвистической возможностью, но остается одной из наиболее противоречивых особенностей аспектно-ориентированного программирования. [7]

к аспектно-ориентированной разработке обеспечения Отношение программного

На рубеже тысячелетий стало ясно, что ряд исследовательских групп разрабатывали различные технологии, которые использовали композицию или присоединение отдельно упакованного состояния и функции для формирования объектов. [8] Чтобы отличить общую область интересов от аспектно-ориентированного программирования с его конкретными патентными определениями и подчеркнуть, что композиционная технология имеет дело не только с этапом кодирования разработки программного обеспечения, эти технологии были объединены под термином « Аспектно-ориентированная разработка программного обеспечения» . [9] а также организация и серия международных конференций, начатых по этой теме. Как и аспектно-ориентированное программирование, предметно-ориентированное программирование, композиционные фильтры, функционально-ориентированное программирование и адаптивные методы считаются аспектно-ориентированными подходами к разработке программного обеспечения.

Размеры [ править ]

Многомерное разделение задач, Hyper/J и проблемами манипулирования среда

Первоначальная формулировка предметно-ориентированного программирования сознательно предполагала его как технологию упаковки, позволяющую расширять пространство функций и типов данных в любом измерении. Первые реализации были для C++, [10] и Смолток. [11] В этих реализациях для описания объединения субъектов использовались концепции программных меток и правил композиции.

Чтобы решить проблему, связанную с тем, что необходимо обеспечить лучшую основу для анализа и составления программного обеспечения не только с точки зрения его упаковки, но и с точки зрения различных проблем, решаемых этими пакетами, была разработана явная организация материала с точки зрения многообразия. многомерная «матрица», в которой проблемы связаны с программными модулями, которые их реализуют. Эта организация называется многомерным разделением задач , и описывающая ее статья [12] был признан самым влиятельным документом конференции ICSE 1999 года. [13]

Эта новая концепция была реализована для создания программного обеспечения Java названием Hyper/J . с использованием инструмента под [14]

Композиция и концепция субъекта могут применяться к программным артефактам, не имеющим исполняемой семантики, например к спецификациям требований или документации. исследовательский инструмент для Eclipse , получивший название Concern Manipulation Environment (CME). Описан [15] в каких инструментах для запросов, анализа, моделирования, [16] и композиция применяются к артефактам на любом языке или представлении посредством использования соответствующих подключаемых адаптеров для управления представлением.

Преемник механизма композиции Hyper/J. [17] был разработан как часть CME, который использует общий подход для нескольких элементов механизма композиции:

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

Доступны как Hyper/J, так и CME от AlphaWorks. [18] или исходный код, [19] соответственно, но ни один из них активно не поддерживается.

измерение Предметно » -ориентированное программирование как « третье

Диспетчерию метода в объектно-ориентированном программировании можно рассматривать как «двумерную» в том смысле, что выполняемый код зависит как от имени метода, так и от рассматриваемого объекта. Это можно противопоставить [20] с процедурным программированием, где имя процедуры напрямую или одномерно разрешается в подпрограмму, а также с субъектно-ориентированным программированием, где отправитель или субъект также имеет отношение к отправке, составляя третье измерение.

См. также [ править ]

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

  1. ^ Уильям Харрисон и Гарольд Осшер, Субъектно-ориентированное программирование - критика чистых объектов, Материалы конференции 1993 г. по системам, языкам и приложениям объектно-ориентированного программирования, сентябрь 1993 г.
  2. ^ «Самая влиятельная награда OOPSLA Paper» .
  3. ^ Гарольд Осшер, Пери Тарр. Композиция на уровне операции: случай в точке (соединения), в ECOOP '98 Workshop Reader, 406–409
  4. ^ Кицалес, Г. ; Лампинг, Дж.; Мендекар, А.; Маэда, К.; Лопес, К.; Лойнтье, Дж. М.; Ирвин, Дж. (1997). Аспектно-ориентированное программирование (PDF) . ЭКООП '97. Материалы 11-й Европейской конференции по объектно-ориентированному программированию . ЛНКС . Том. 1241. С. 220–242. CiteSeerX   10.1.1.115.8660 . дои : 10.1007/BFb0053381 . ISBN  3-540-63089-9 .
  5. ^ Кичалес; Грегор Дж.; Освещение; Джон О.; Лопес; Кристина В.; Хугунин; Джеймс Дж.; Хилсдейл; Эрик А.; Бояпати; Чандрасекхар, Аспектно-ориентированное программирование, патент США 6 467 086, 15 октября 2002 г.
  6. ^ Уильям Харрисон. Деконструкция и реконструкция аспектной ориентации, Седьмой ежегодный семинар по основам аспектных языков, Брюссель, Бельгия, 1 апреля 2008 г., под редакцией Гэри Т. Ливенса, Цифровая библиотека ACM, 2008, стр. 43-50.
  7. ^ Фридрих Штайманн. Парадоксальный успех аспектно-ориентированного программирования, Материалы 21-й ежегодной конференции ACM SIGPLAN по системам, языкам и приложениям объектно-ориентированного программирования, Портленд, Орегон, США, 2006, стр. 481–497.
  8. ^ Сообщения ACM, Vol. 44, № 10, октябрь 1994 г., стр. 28-95.
  9. ^ http://aosd.net/
  10. ^ Гарольд Осшер, Мэтью Каплан, Уильям Харрисон, Александр Кац и Винсент Краскал, Правила предметно-ориентированной композиции, Материалы конференции 1995 г. по системам, языкам и приложениям объектно-ориентированного программирования, октябрь 1995 г.
  11. ^ Хафед Мили, Уильям Харрисон, Гарольд Осшер, Поддержка предметно-ориентированного программирования в Smalltalk, Proceedings of Tools USA 96, август 1996 г.
  12. ^ Гарольд Осшер, Пери Тарр, Уильям Харрисон, Стэнли Саттон, N степеней разделения: многомерное разделение задач, материалы Международной конференции по разработке программного обеспечения 1999 г., май 1999 г.
  13. ^ «SIGSOFT — Специальная группа ACM по разработке программного обеспечения» .
  14. ^ Гарольд Осшер, Пери Тарр. Hyper/J: Многомерное разделение задач для Java, Материалы 23-й Международной конференции по разработке программного обеспечения, Торонто, Онтарио, Канада, 2001 г., Страницы: 821–822.
  15. ^ Уильям Чанг, Уильям Харрисон, Винсент Краскал, Гарольд Осшер, Стэнли М. Саттон-младший, Пери Тарр, Мэтью Чепмен, Эндрю Клемент, Хелен Хокинс, Сиан Январь. Среда манипулирования концерном, Содержание 27-й международной конференции по программной инженерии, Сент-Луис, Миссури, США, 2005 г.
  16. ^ Уильям Харрисон, Гарольд Осшер, Стэнли Саттон, Пери Тарр. Моделирование проблем в среде манипулирования проблемами, Материалы семинара 2005 г. по моделированию и анализу проблем в программном обеспечении, Сент-Луис, Миссури, 2005 г.
  17. ^ Уильям Харрисон, Гарольд Осшер, Пери Тарр. Общая композиция артефактов программного обеспечения, Материалы семинара по композиции программного обеспечения 2006 г., март 2006 г., Springer-Verlag, LNCS 4089, страницы 194–210.
  18. ^ «Устаревшие сообщества — сообщество IBM» .
  19. ^ «Среда манипулирования озабоченностью (CME)» . 24 апреля 2015 г.
  20. ^ Журнал объектных технологий: контекстно-ориентированное программирование

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 992D1486CFA1DEE0D2F8B0C50FDB242E__1707417540
URL1:https://en.wikipedia.org/wiki/Subject-oriented_programming
Заголовок, (Title) документа по адресу, URL1:
Subject-oriented programming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)