웹 프레임워크(web framework) ?

 웹 애플리케이션 프레임워크(Web application framework)는 동적인 웹 페이지나, 웹 애플리케이션, 웹 서비스 개발 보조용으로 만들어지는 애플리케이션 프레임워크의 일종이다. 웹 페이지를 개발하는 과정에서 겪는 어려움을 줄이는 것이 주 목적으로 통상 데이터베이스 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 기능을 포함하고 있다. -위키

 

보통 웹 프로그래밍에 있어서 Spring FrameWork을 제일 많이 사용한다고 합니다. 

사실 게임 클라 개발에 있어서도 FrameWork는 보통 남들이 만들어둔걸 가지고 사용하면서  FrameWork를

수정하는 기술이 생각보다 난이도가 있다는것을 알고 있습니다. 

 

Spring의 AOP(aspect-oriented programming)란?

 

컴퓨팅에서 관점 지향 프로그래밍(aspect-oriented programming, AOP)은 횡단 관심사(cross-cutting concern)의 분리를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임이다. 코드 그 자체를 수정하지 않는 대신 기존의 코드에 추가 동작(어드바이스)을 추가함으로써 수행하며, "함수의 이름이 'set'으로 시작하면 모든 함수 호출을 기록한다"와 같이 어느 코드가 포인트컷(pointcut) 사양을 통해 수정되는지를 따로 지정한다. 이를 통해 기능의 코드 핵심부를 어수선하게 채우지 않고도 비즈니스 로직에 핵심적이지 않은 동작들을 프로그램에 추가할 수 있게 한다. 관점 지향 프로그래밍은 관점 지향 소프트웨어 개발의 토대를 형성한다. -위키

 

무슨말인지 하나도 몰라서 하나씩 찾아보도록 했습니다.

 

먼저 횡단관심사란?

 

객체 지향 소프트웨어 개발에서 횡단 관심사 또는 크로스커팅 관심사(cross-cutting concerns)는 다른 관심사에 영향을 미치는 프로그램 애스펙트이다. 이 관심사들은 디자인과 구현 면에서 시스템의 나머지 부분으로부터 깨끗이 분해되지 못하는 경우가 있을 수 있으며 분산(코드 중복)되거나 얽히는(시스템 간의 상당한 의존성 존재) 일이 일어날 수 있다.

-위키

 

흠 뭔소리인지 모르겠더군요 일단 또 하나씩 보면되겠죠 

 

몇몇 블로그를 돌아다니다 보니 

핵심 관심: 계좌이체, 입출금, 이자계산,

횡단관심: 로깅, 보안,트랜젝션

예시가 많더군요

한글 짱짱 영어 원문으로 보는게 안전하지만 

오래 사용되었기 때문에 그냥 한글 블로그로 참고했습니다 ㅎ 

 

 

 

 

핵심관심?

시스템의 핵심 가치와 목적인 관심 영역

 

횡단관심?

쉽게 분리된 모듈로 작성하기 힘든 요구 사항, 공통 모듈 

 

joint point?

횡단 관심의 기능이 삽입되어 실행될 수 있는 특정 위치

 

Point cut?

어느 joint point를  사용할 것인지를 결정 하는 선택 기능

 

Advice?

joint point 에 삽입되어 동작되는 모듈

 

Aspect?

point-cut 과 advice를 합쳐 놓은 코드

 

Weaving?

joint Point 에 해당하는 advice를 삽입하는 과정

 

 

 

출처 :https://needjarvis.tistory.com/328

 

OOP를 더욱 빛나게 해주는, AOP

AOP(관점지향프로그래밍, Aspect Oriented Programming)는 스프링 프레임워크(Spring Framework)을 써야만 되는 이유중 하나로, 대규모 프로그래밍을 매우 강력하게 만들어 줍니다. 관점지향 프로그램을 이해하기..

needjarvis.tistory.com

 

출처 위키피디아

https://ko.wikipedia.org/wiki/%ED%9A%A1%EB%8B%A8_%EA%B4%80%EC%8B%AC%EC%82%AC

 

횡단 관심사 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 객체 지향 소프트웨어 개발에서 횡단 관심사 또는 크로스커팅 관심사(cross-cutting concerns)는 다른 관심사에 영향을 미치는 프로그램의 애스펙트이다. 이 관심사들은 디자인과 구현 면에서 시스템의 나머지 부분으로부터 깨끗이 분해되지 못하는 경우가 있을 수 있으며 분산(코드 중복)되거나 얽히는(시스템 간의 상당한 의존성 존재) 일이 일어날 수 있다. 이를테면, 의무기록을 관리하기 위한 애플리케이션을 작성한다고

ko.wikipedia.org

https://ko.wikipedia.org/wiki/%EA%B4%80%EC%A0%90_%EC%A7%80%ED%96%A5_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D

 

관점 지향 프로그래밍 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 컴퓨팅에서 관점 지향 프로그래밍(aspect-oriented programming, AOP)은 횡단 관심사(cross-cutting concern)의 분리를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임이다. 코드 그 자체를 수정하지 않는 대신 기존의 코드에 추가 동작(어드바이스)을 추가함으로써 수행하며, "함수의 이름이 'set'으로 시작하면 모든 함수 호출을 기록한다"와 같이 어느 코드가 포인트컷(p

ko.wikipedia.org

 

' > Spring' 카테고리의 다른 글

<Spring>JPA  (0) 2020.12.14
<Spring>Lombok?  (0) 2020.12.14
<Spring>Post Method  (0) 2020.12.14
<Spring>HTTP  (0) 2020.12.14
<Spring>통신이란?  (0) 2020.12.14

+ Recent posts