본문 바로가기

Java9

토비의 스프링 Vol. 1 정리 - 3장 템플릿 - 1 토비의 스프링 Vol.1 정리 - 3 - 1 3장 템플릿 개방 폐쇄 원칙 (OCP)은 코드에서 어떤 부분은 변경을 통해 그 기능을 확정하려고 하는 성질이 있고, 어떤 부분은 변하지 않으려는 성질이 있음을 말해준다. 변화의 특성이 다른 부분을 구분해주고 각각의 목적과 이유에 의해 독립적으로 변경될 수 있는 효율적이 구조를 만들어 주는 것이 개방 폐쇄 원칙이다. 템플릿이란 이렇게 바뀌는 성질이 다른 코드 중에서 변경이 일어나지 않으며 특정한 패턴으로 유지되는 특성을 가진 부분을 독립시켜 효과적으로 활용할 수 있도록 하는 방법이다. package com.empering.springdemo.user.dao; import com.empering.springdemo.user.domain.User; import ja.. 2020. 4. 7.
토비의 스프링 Vol. 1 정리 - 2장 테스트 토비의 스프링 Vol.1 정리 - 2 2장 테스트 테스트의 유용성 테스트란 예상하고 의도했던 대로 코드가 정확히 동작하는 지를 확인해서, 만튼 코드를 확신할 수 있게 해주는 작업 테스트의 결과가 원하는 대로 나오지 않는 경우 코드나 설계에 결함이 있음을 알 수 있다. 이를 통해 코드의 결함을 제거해가는 작업을 거치고, 테스트가 성공하면 모든 결함이 제거 됐다는 확신을 얻을 수 있다. 웹을 통한 DAO 테스트 방법의 문제점 흔히 DAO 를 테스트 하기위해, MVC 모든 계층을 포함한 기능을 만든 뒤 웹화면을 통해 테스트하게된다. 하지만 DAO 테스트로서 웹을 통한 테스트는 단점이 많이 존재한다. DAO 뿐만 아니라 서비스, 컨트롤러, 뷰 등 모든 계층의 기능을 구현해야한다. > 테스트 참여 클래스가 많음 .. 2020. 4. 5.
토비의 스프링 Vol. 1 정리 - 1장 오브젝트와 의존관계 토비의 스프링 Vol.1 정리 - 1 1장 오브젝트와 의존관계 스프링은 객체지향 설계와 구현에 과해 특정한 모델과 기법을 강요 하지않는다. 하지만 오브젝트를 어떻게 효과적으로 설계하고 구현하고, 사용하고, 개선해나갈 것인가에 대한 기준을 마련해준다. 스프링은 객체지향 기술과 설계, 구현에 과한 실용적인 전략과 검증된 베스트 프랙티스를 프레임워크 형태로 제공한다. 관심사의 분리 객체지향의 세계에서는모든것이 변한다. 오브젝트의 설계와, 구현이 변한다. 사용자의 비지니스 프로세스와 요구사항은 끊임없이 변한다. 애플리케이션이 폐기처분 될 때 변화는 중지된다. 따라서 개발자는 미래의 변화를 대비 해야한다. 가장좋은 대책은 변화의 폭을 최소한으로 줄여주는 것이다. 변화의 폭을 줄이기 위해 분리와 확장을 고려한 설계.. 2020. 4. 3.