Контекстно-ориентированное программирование

Предлагается объединить эту статью с аспект-ориентированное программирование. (Обсудить)

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

Методология контекстно-ориентированного программирования была предложена группой инженеров исследовательского центра Xerox PARC под руководством Грегора Кикзалеса (Gregor Kiczales). Ими же был разработан первый, и наиболее успешный до сих пор, контекстно-ориентированный язык программирования : AspectJ.

Суть контекстно-ориетированного программирования состоит в применении так называемых аспектов, которые действуют на систему, изменяя ее поведение. Аспектно-ориетированное программирование появилось вследствие детального изучения современных принципов построения программного кода: было обнаружено, что в исходном коде программы часто тесно переплетены различные функции, которые не удавалось разделить существующими инструментами. Например, в объектно-ориентированной парадигме считается невозможным разрешить т. н. задачу “логирования” вызова методов, когда требуется вести журнал подобных вызовов, не прибегая к явному вызову метода “логирования” из исходных методов.

В аспектно-ориетированном программировании, как парадигме, принято рассматривать следующие важнейшие сущности:

Точка присоединения (JoinPoint) — однозначно определяемое место в программе. Срез (PointCut) — набор точек присоединения, удовлетворяющий заданному правилу. Фрагмент вставки (Advice)— это набор инструкций языка программирования, который интегрируется во все точки заданного среза. Аспект (Aspect) — это пара: правило, задающее срез и фрагмент, подлежащий вставке в точки этого среза. Представление (Introduction) — это формализованное правило изменения структуры класса.

Внешние ссылки (на английском языке)

См. также

 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home