250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

Service interface와 serviceImpl을 만드는 이유 본문

[Snow-ball]server/스프링(Spring)

Service interface와 serviceImpl을 만드는 이유

Snow-ball 2021. 3. 25. 20:46
반응형

1.OOP의 인터페이스와 Loose coupling

interfafce는 객체의 사용 방법을 정의한 타입이다. 객체의 교환성을 높여주기 때문에 다형성을 구현하는데에 매우 중요한 역할을 한다. 

 

개발 코드를 수정하지 않고도 사용하는 객체를 변경할 수 있다는 것!

 

인터페이스 타입에 어떤 구현 객체를 대입하는지에 따라 실행결과가 달리지도록 만드는 기술이므로 기존 구현객체와 비즈니스 로직이 다른 기능을 추가할 경우 다른 구현 객체를 만들어 사용할 수 있게 된다. 따라서 객체지향의 장점인 유지보수 측면에서 매우 효율이 좋아진다.

 

그리고 OOP에서는 클래스를 작게 나누어 다른 클래스와 의존관계를 낮추는것이 중요하다. 즉, 결합도를 느슨하게 만드는 것인데, 이 또한 유지 보수 측면에서 쉽다는 장점이 존재한다.

 

2. AOP(Aspect Oriented Programming)

AOP는 관점 지향 프로그래밍이라고 불린다. 관점 지향은 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하는 것이다. 여기서 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 뜻한다.

 

AOP에서 각 관점을 기준으로 로직을 모듈화 한다는 것은 코드들을 부분적으로 나누어서 모듈화함을 의미한다. 소스 코드상에서 다른 부분에 계속 반복해서 쓰는 코드들을 발견할 수 있는 데 이것을 Crosscutting Concerns(흩어진 관심사)라고 한다. 

 

 

 

 

 

 

 

 

베타존 : 네이버쇼핑 스마트스토어

나를 꾸미다 - 인테리어소품 베타존

smartstore.naver.com

 

반응형
Comments