IT이론(8)
-
스프링(Spring) - 서비스 추상화
서비스 추상화란?서비스 추상화란 Spring framework는 물론 객체지향 프로그래밍에서 아주 중요한 개념이다. 간단히 이야기하면 개발환경, 혹은 어떠한 비즈니스 로직을 위한 로우레벨의 기술에 구애 받지 않게 하기위해서, 그리고 책임을 분리 시키기 위한 추상화 개념이다. 예를 들어서 PlatformTransactionManager 같은 경우가 서비스 추상화의 대표적인 예이다. 트랜잭션을 관리한다는 것은 크게 보면 디비의 트랜잭션을 관리한다는 말이다. 그렇다면? 과연 디비라는 것은 종류가 하나인 것인가? 아니다. JDBC,하이버네이트 등등 아주 많은 디비의 종류가 있다. 그렇다면 각자의 디비의 트랜잭션을 관리하기 위해 각각다른 트랜잭션 코드가 필요하다면? 만약 디비가 바뀌게 된다면 그에 따라 트랜잭션 ..
2018.03.08 -
Spring 오브젝트와 의존관계 용어 정리
스프링의 오브젝트와 의존관계에 관한 용어 정리 1. 관심사의 분리책임이 다른 코드를 분리해서 두 개의 클래스로 만드는 것.ex) 보통의 DAO 클래스에서 DB커넥션 관련 코드와 DB에서 실제로 수행되는 statement, resultset 등의 코드가 혼재되어있다. 즉, db커넥션관련 책임과 db에서 실제로 수행되는 코드의 책임은 엄연히 다른 책임을 가진다. 이런 코드를 관심사의 분리로써 db커넥션관리 코드를 별도의 class로 분리하여 DAO내에서는 DB커넥션과 관련된 코드자체를 분리해내는 작업(리팩토링)을 한다. 결론적으로 관심이 같은 것은 한 객체 또는 친한 객체로 관심이 다른 것은 가능한 멀리 떨어져 서로 영향을 주지 않게 코드를 분리&확장하는 이론이다. 2. 전략패턴자신의 기능 맥락에서, 필요에..
2018.02.17