수평적 관심 분리를 하고싶다는건 알겠는데
관심분리를 하는 방법은 다양하잖아.
AOP는 관심분리를 하는 방법이 특별히 정해져있는걸 가지고 AOP라 하는거?
예를들어, java8부터는 interface에 구현이 가능하니까.
interface Loggable {
default void log() {
}
}
이렇게 로그 찍는걸 아얘 뺼 수 있잖아.
이것도 관심분리의 일종일텐데, 이걸 AOP라 하지 않는것같더라고.
수평적 관심 분리를 하고싶다는건 알겠는데
관심분리를 하는 방법은 다양하잖아.
AOP는 관심분리를 하는 방법이 특별히 정해져있는걸 가지고 AOP라 하는거?
예를들어, java8부터는 interface에 구현이 가능하니까.
interface Loggable {
default void log() {
}
}
이렇게 로그 찍는걸 아얘 뺼 수 있잖아.
이것도 관심분리의 일종일텐데, 이걸 AOP라 하지 않는것같더라고.
spring aop니깐 그렇겠지
aop란 단어자체를 spring에서밖에 안쓰나?
스프링 말고 쓰는데 엄청 많음.. Spring AOP는 런타임 AOP이고 메소드에 박에 적용못하는데 AspectJ라고 컴파일 타임, 로드 타임에 AOP를 적용할수 잇는 라이브러리 있음
ㅇㅇ 그래서 물어본거. 내가 AOP에 대한 개념을 잘못이해한건지, 아니면 AOP라는건 관심분리 및 그 방법까지 지칭하는건지... 위에 interface예제는 스위프트에서 자주쓰이는 protocol(interface)-oriented-programing과 비슷한데, 난 그게 AOP라 생각해서 swift AOP 검색해봤더니 스프링 따라하는게 나오더라.... 그래서 혼란
관심사 분리는 그냥 관심사 분리고 - dc App
AOP는 분리된 관심사들 갖고 잘 스까먹는 코딩방식 - dc App
그 "쓰까먹는" 다는게 스프링식으로 쓰까먹는다는 소리인가요
꼭 어노테이션일 필요 없음 - dc App
내말은 어노테이션이 아니라, 위에 인터페이스로 기능 분리하는건 1) 관심분리가 맞는지. 2) 맞다면 AOP의 범주에 해당하는지. 여쭤보고싶어영..