정의 ABC의 개념
잡집 / / July 04, 2021
Guillem Alsina González, 1 월. 2018
모듈화, 즉 복잡한 작업을 상호 관련이 있지만 충분히 독립적 인 여러 구성 요소로 나눌 수 있습니다. 같은 프로그램을 실행하는 동안과 다른 개발 과정에서 재사용 할 수 있도록, 그것은 "성배"중 하나입니다. 프로그램 작성.
그렇기 때문에 우리가 과학을 즐기는 수년 동안 컴퓨팅,이를 구현하려는 몇 가지 프로그래밍 철학이 나타났습니다. 철학 재사용 암호 소스 및이를 구현하는 수많은 프로그래밍 언어.
이러한 철학 중 하나는 객체 지향 프로그래밍이며 진화 한 단계 더 나아가고 자하는 자연스러운 것은 AOP (Aspect Oriented Programming)입니다.측면 지향 프로그래밍)
우리는 AOP를 애플리케이션의 소스 코드를 설계하고 구조화하는 방법으로 이해합니다. 다양한 요소가 캡슐화되고 나중에 잘 정의되도록 컴퓨팅 재사용.
AOP 덕분에 독서 객체를 참조하는 소스 코드 (우리가 수행 할 수있는 정의 및 작업)를 통해 독자는 한편으로는 소스 코드의 반복을 줄이고 다른 한편으로는 완전히 모듈화하는 데 도움이되는 더 큰 컨텍스트가 필요합니다. 응용 프로그램.
AOP의 A는 Aspect에 해당하며, 이는 프로그램의 가장 기능적인 부분과는 별도의 모듈에서 구현 될 전체 응용 프로그램을 횡단하는 기능을 나타냅니다.
개념적으로는 소스 코드의 여러 위치에서 반복적으로 사용되는 것입니다. 앱, 그리고 이러한 방식으로 나머지 소스 코드에 영향을주지 않고 수정할 수 있도록 캡슐화되고 나머지 코드와 격리됩니다.
이런 식으로, 프로그래머의 내부에서 어떻게 작동하는지에 대한 지식 없이도 코드의 어느 곳에서나 aspect를 호출 할 수 있습니다. AOP는 또한 개발자가 만든 소스 코드가 내부적으로 작동하는 방식에 대한 세부 사항을 반드시 알 필요가 없기 때문에 개발자 팀의 작업을 용이하게합니다. 나머지.
팁은 측면의 코드 구현입니다.
자체 포함 된 응용 프로그램의 모듈을 구성하며 동일한 응용 프로그램 코드의 다른 부분에서 모두 호출 할 수 있습니다. 캡슐화가 이루어지기 때문에 동일한 측면을 사용해야하는 다른 응용 프로그램에서 재사용됨에 따라 개발되었습니다. 합계.
소스 코드 내의 측면에 대한 참조를 조인트 포인트라고합니다.
연결 지점은 방법, 조언이 될 것입니다. 다른 전화와 구별되는 유일한 것은 전통적인 호출 객체의 캡슐화입니다.
수행 할 필요없이 주어진 요소에서 응용 프로그램의 기능을 수정하는 방법입니다. 소스 코드의 변경, 일부 측면 (따라서이 철학의 이름과 성장).
프로그래밍 철학이기 때문에 AOP는 기존 언어로 수행 할 수 있으며 새로운 언어를 만들 필요가 없습니다.
예, C ++ 또는 PHP와 같은 기존 언어에 대해이 작업을 용이하게하는 프레임 워크가 있습니다. Java 용 Spring, C ++ 용 AspectC ++ 또는 Python 용 Aspyct AOP의 경우입니다.
사진: Fotolia-Ainoa
AOP의 주제