인프런 강의 中 김영한 강사님의 '스프링 핵심 원리' 내용을 정리했습니다. 이번 강의부터 순수 자바를 이용해 개발을 진행한다. 처음에는 OCP, DIP가 지켜지지 않는 코드를 작성해보고, 이후에 코드를 리팩토링하며 좋은 객체지향 설계 원칙을 지켰을 때의 효과를 뚜렸하게 느껴보는 것이 Session2, Session3의 목표이다. 그럼 요구사항에 맞춰서 개발해보자! 요구사항과 설계 Store에서 주문 서비스 프로그램을 의뢰했다고 가정한다. 회원 회원가입, 조회기능이 있다. VIP, BASIC 등급으로 나누어진다. DB를 자체 구축할 수 있고, 외부 시스템과 연동할 수도 있다.(미정) 할인 할인 기능이 있다. 고정 할인 정책 또는 회원 할인 정책 두 가지 중 하나를 사용할 수 있다.(미정) 주문 주문 기능이..
인프런 강의 中 김영한 강사님의 '스프링 핵심 원리' 내용을 정리했습니다. 정보처리기사를 공부해 봤던 사람들이라면 SOLID를 알 것이다. 필자도 대학교 4학년 때 벼락치기로 공부해서 어렴풋이 기억은 나지만 이 내용이 객체 지향 프로그래밍을 할 때 이렇게 중요한 부분인 줄 몰랐다. 김영한 강사님께서 잘 설명해주신만큼 확실하게 정리하고 가려고 한다. 이전 시간에 우리는 스프링이 왜 탄생하게 되었는지 배웠다. 스프링 이전 EJB를 사용할 당시 객체지향의 이점을 살려서 개발을 진행하지 못했던 부분이 스프링 프레임워크를 탄생시킨 주요 원인 중 하나라고 배웠다. 그렇다면 객체지향의 이점을 살린 코드는 어떤 코드인가?라는 모호한 생각이 들 수 있는데, 좋은 객체지향 설계 원칙을 보면 바로 이해할 수 있다. 좋은 객..
인프런 강의 中 김영한 강사님의 '스프링 핵심 원리' 내용을 정리했습니다. 스프링 이전 Java 개발(EJB) EJB(Enterprise JavaBeans) spring, jpa 등을 다 섞어놓은 기술 service, dao 등을 별도의 서버에 놓고 분산해서 사용할 수 있었던 기술 *ORM(Object Relational Mapping) 기술도 가지고 있었음 *ORM (Object Relational Mapping) - 객체와 데이터베이스의 데이터 사이의 관계를 매핑함으로써 SQL을 사용하지 않고 자바로만 데이터베이스를 다룰 수 있도록 해주는 도구 => 반복되는 쿼리문 작성을 줄일 수 있기 때문에 자바 개발자로써는 더 편하고 비즈니스 로직에 집중할 수 있게 됐다. EJB 지옥 서버도 분산해서 사용하는 등..