속성 지향 프로그래밍
보이기
프로그래밍 패러다임 |
---|
속성 지향 프로그래밍 (Attribute-oriented programming, @OP)은 프로그램 코드 내에 속성이라는 메타데이터를 포함하는 기술이다.
다양한 언어에서의 속성 지향 프로그래밍
[편집]자바
[편집]Metadata Facility for Java(JSR-175)[1]가 J2SE 5.0 릴리스에 포함되면서 속성 지향 프로그래밍을 바로 사용할 수 있게 되었다. XDoclet 라이브러리를 사용하면 이전 버전의 자바에서도 속성 지향 프로그래밍 접근 방식을 사용할 수 있다.
C#
[편집]C# 언어는 첫 릴리스부터 속성을 지원했다. 이러한 속성은 런타임 정보를 제공하는 데 사용되었으며 전처리기에서는 사용되지 않았다. 현재 소스 생성기를 사용하면 컴파일 시 추가 코드 생성을 주도하는 데 속성을 사용할 수 있다.
UML
[편집]통합 모델링 언어 (UML)는 스테레오타입이라는 속성을 지원한다.
핵
[편집]핵 프로그래밍 언어는 속성을 지원한다. 속성은 다양한 프로그램 엔티티에 첨부될 수 있으며, 해당 속성에 대한 정보는 리플렉션을 통해 런타임에 검색할 수 있다.
도구
[편집]- 어노테이션 처리 도구 (apt)
- 스푼, 어노테이션 기반 자바 프로그램 변환기
- XDoclet, 자바독 기반 프로그램 생성기
각주
[편집]- “Attribute-Oriented Programming”. 《An Introduction to Attribute-Oriented Programming》. 2005년 5월 26일에 원본 문서에서 보존된 문서. 2005년 7월 22일에 확인함.
- Wada, Hiroshi; Suzuki, Junichi (2005). “Modeling Turnpike Frontend System: a Model-Driven Development Framework Leveraging UML Metamodeling and Attribute-Oriented Programming” (PDF). In Proc. of the 8th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MoDELS/UML 2005). 2016년 3월 3일에 원본 문서 (PDF)에서 보존된 문서. 2006년 3월 21일에 확인함.
- Rouvoy, Romain; Merle, Philippe (2006). “Leveraging Component-Oriented Programming with Attribute-Oriented Programming” (PDF). In Proc. of the 11th ECOOP International Workshop on Component-Oriented Programming (WCOP 2006). 2006년 12월 23일에 원본 문서 (PDF)에서 보존된 문서.
외부 링크
[편집]- Don Schwarz. Peeking Inside the Box: Attribute-Oriented Programming with Java5
- Sun JSR 175
- Attributes and Reflection - sample chapter from Programming C# book
- Modeling Turnpike Project
- Fraclet 보관됨 2008-09-20 - 웨이백 머신: An annotation-based programming model for the Fractal component model
- Attribute Enabled Software Development book