리팩토링동작방식에는 변화 없이 내부 구조를 변경하여 재구성코드 내부의 설계가 개선되어 코드를 이해하기 편하게 개선변화에 효율적 대응image:9461631E-2F50-42D8-B877-4963950D33B6-29893-0000143B5EF5202E/F211DE05-AA
스프링 빈스프링이 제어권을 가지고 직접 만들고 관계를 부여하는 오브젝트오브젝트 단위의 애플리케이션 컴포넌트빈 팩토리 == 애플리케이션 컨텍스트 빈 팩토리가 스프링 빈의 생성 관계설정, 사용 등을 제어해준다. (제어의 역전)빈 팩토리: IoC의 기본 기능에 초점애플리케이
싱글톤의 한계private 생성자를 갖고 있기 때문에 상속할 수 없다.테스트하기 힘들다.서버환경에서는 싱글톤이 하나만 만들어지는 것을 보장하지 못한다.싱글톤의 사용은 전역 상태를 만들 수 있기 때문에 바람직하지 못하다.}DI를 원하는 오브젝트는 먼저 자기 자신이 컨테이
스프링이 제공하는 가장 중요한 가치 -> 객체지향, 테스트스프링 핵심 -> IoC와 DI는 오브젝트의 설계와 생성, 관계, 사용에 관한 기술테스트의 가치와 장점, 활용 전략, 스프링과의 관계Junit 테스트 수행시 주의점각 테스트 메소드를 실행할 때마다 테스트 클래스의
템플릿이란, 바뀌는 성질이 다른 코드 중에서 변경이 거의 일어나지 않으며 일정한 패턴으로 유지되는 특성을 가진 부분을 자유롭게 변경되는 성질을 가진 부분으로부터 독립시켜서 효과적으로 활용할 수 있도록 하는 기법이다.JDBC 수정 기능의 예외처리 코드리소스 반환과 clo
전략패턴 구조상 UserDao의 메소드는 클라이언트 개념으로 구성되어진다.UserDao메소드 내에 익명 내부 클래스로 만들어지는 것이 개별적인 전략이고, jdbcContextWithStatementStrategy()메소드는 컨텍스트이다.JdbcContext ClassJ
먼저 User 클래스에 사용자 레벨을 저장할 필드와 저장 방식에 대해서 고민해볼 필요가 있다.enum을 이용한 구현이렇게 구성한다면 Level 자체가 오브젝트 형태가 되어 기존에 정의되어 있는 레벨과 다른 레벨이 전달될 경우를 방지할 수 있어 데이터의 정합성을 지켜줄
기술과 서비스에 대한 추상화 기법을 이용하면 특정 기술환경에 종속되지 않는 포터블한 코드를 만들 수 있다.그림은 수직적 의존관계 Application - Service Abstract - Tech Service수펑적 의존 관계를 잘 나타내준다.UserService는 순