FrameWork(프레임워크) 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조 소프트웨어의 특정 문제를 해결하기 위해 상호 협력하는 클래스와 인터페이스의 집합 반드시 써야하는 것과 내부적인 룰이 있음 예시: Spring, Angular JS, Django... Library(라이브러리) 소프트웨어 개발 시 사용되는 프로그램의 구성요소로, 공통으로 사용되는 특정 기능들을 모듈화 한 것 라이브러리 사용은 자유
1장 오브젝트와 의존관계 자바의 객체지향 프로그래밍 -> 스프링이 스프링에서 가장 가치를 두는 것 오브젝트에 대한 관심 오브젝트간 관계, 사용, 소멸 전 과정 오브젝트의 설계 -> 객체지향 설계 재활용 가능한 설계방법 = 디자인 패턴 깔끔한 구조로 개선 = 리팩토링 오브젝트가 정상적으로 동작하는지 = 단위 테스트 스프링이 제공하는 것 오브젝트의 효과적인 설계, 구현, 사용 및 개선의 기준 객체지향 기술과 설계, 구현에 관한 실용적인 전략 검증된 베스트 프랙티스 오브젝트의 설계와 구현, 동작원리에 집중! 1.1 초난감 DAO DAO(Data Access Object): DB를 사용해 데이터를 조회하거나 조작하는 기능을 하게 만든 오브젝트 자바빈(JavaBean): 비주얼 툴에서 조작 가능한 컴포넌, 일반적..
객체지향 설계에서 지켜야 할 SOLID 5원칙에 대해 알아보겠다. SRP(Single Responsibility Principle, 단일 책임 원칙) 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐 작성된 클래스는 하나의 기능만 가지며 클래스가 제공하는 서비스는 하나에만 집중이 되어있어야 한다. 이렇게 작성 시 책임 영역이 확실해지며 책임의 연쇄반응으로부터 자유로워 질 수 있다. OCP(Open-Closed Principle, 개방-폐쇄 원칙) 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에 대해서는 열려 있어야 하지만 변경에 대해서는 닫혀있어야 함 캡슐화를 통해 여러 객체에서 사용하는 같은 기능들을 하나의 인터페이스로 정의 OCP를 가능하게 하는 중요한 메커니즘은 추상화와 다형성 LSP(The L..
자바 스프링을 공부하면서 스프링의 기본적인 원리를 파악하면서 공부하고자 하는 욕심이 생겼다. 선배님들의 조언을 얻어 토비의 스프링을 구매했던 기억이 떠오르며 몇 장 못 읽고 포기했던 때가 생각났다. 이번에는 그래도 스프링을 공부하는 사람으로서 꼭 읽어봐야 한다는 토비의 스프링을 완독해보고자 한다. 공부계획은 다음과 같다. 한 주에 한 챕터씩 읽고 모르는 부분을 정리하며 진행하려 한다. 기본적으로 정리한 요약은 블로그를 통해 올리고 책 내부 소스코드는 깃허브를 통해 올리도록 하겠다. 깃허브: https://github.com/naekang/toby-spring naekang/toby-spring 토비의 스프링을 공부하는 중입니다. Contribute to naekang/toby-spring developm..