본문 바로가기
728x90
반응형

스프링 Spring/스프링 핵심 원리 - 기본편61

[객체 지향 설계와 스프링] 객체 지향 설계와 스프링 객체 지향 설계와 스프링 스프링은 다음 기술로 다형성 + OCP, DIP를 가능하게 지원 DI(Dependency Injection) : 의존관계, 의존성 주입 DI 컨테이너 제공 클라이언트 코드의 변경 없이 기능 확장 쉽게 부품을 교체하듯이 개발 정리 모든 설계에 역할과 구현을 분리 이상적으로는 모든 설계에 인터페이스를 부여하자 실무 고민 인터페이스를 도입하면 추상화라는 비용이 발생 기능 확장 가능성 없다면 구체 클래스 직접 사용, 향후 꼭 필요할 때 리펙터링해서 인터페이스를 도입하는 것도 방법 인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 것 입니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질.. 2022. 1. 29.
[객체 지향 설계와 스프링] 좋은 객체 지향 설계의 5가지 원칙(SOLID) 좋은 객체 지향 설계의 5가지 원칙(SOLID) 1. SRP : 단일 책임 원칙 - 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임? 클 수 있고, 작을 수 있다. - 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으로 단일 책임 원칙을 잘 따른 것 2. OCP : 개방-폐쇄 원칙(중요) - 소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀 있어야 한다. - 다형성 활용 - 인터페이스를 구현한 새로운 클래스를 하나 만들어서 새로운 기능을 구현 - 구현 객체를 변경하려면 클라이언트 코드를 변경해야 한다. - 위와 같이 다형성을 사용했지만 OCP를 지킬 수 없다. MemberService 클라이언트가 구현 클래스를 직접 선택 - 해결 방법 : 객체를 생성하고, 연관 관계를 맺어주는 별도의 조.. 2022. 1. 29.
[객체 지향 설계와 스프링] 좋은 객체 지향 프로그래밍이란? 좋은 객체 지향 프로그래밍이란? 객체 지향 특징 - 추상화, 갭슐화, 상속, 다형성 객체 지향 프로그래밍 1. 객체들의 모임 2. 객체는 메시지를 주고받고 데이터 처리 3. 유연하고 변경 용이 -> 다형성 다형성 역할과 구현으로 세상을 구분 역활과 구현으로 구분하면 세상이 단순해지고, 유연해지며 변경도 편리 장점 대상의 역할(인터페이스)만 알면 된다. ex) 줄리엣의 역할 구현 대상의 내부구조를 몰라도 된다. ex) 자동차 내부구조 구현대상의 내부 구조가 변경되어도 영향을 받지 않는다. ex) k5 -> 테슬라 구현 대상 자체를 변경해도 영향을 받지 않는다. ex) k5 -> 아반떼 역할과 구현을 명확히 분리 역할 = 인터페이스 구현 = 인터페이스를 구현한 클래스, 구현 객체 객체 설계시 역할(인터페이스.. 2022. 1. 29.
[객체 지향 설계와 스프링] 스프링이란? 스프링이란? 스프링 생태계 스프링 데이터 : CRUD 도움 스프링 세션 : 세션 기능 스프링 시큐리티 : 보안 스프링 Rest Docs : API문서를 편리하게 스프링 배치 : 배치 처리 특화 스프링 클라우드 : 클라우드 -------------------------- 핵심 컨셉은? - 스프링은 자바 언어 기반의 프레임워크 - 자바 언어의 가장 큰 특징 - 객체 지향 언어 - 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크 - 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 것 입니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 .. 2022. 1. 29.
[객체 지향 설계와 스프링] 이야기 - 자바 진영의 추운 겨울과 스프링의 탄생 스프링 EJB 컨테이너 대체 간순함의 승리 현재 사실상 표준 기술 하이버네이트 EJB 엔티티빈 기술을 대체 JPA(Java Persistence API) 새로운 표준 정의 EJB 엔티티빈 --등장--> 하이버네이트 --자바표준--> JPA 하이버네이트, EclipseLink, 기타 ... (JPA 구현체들) ---> JPA(표준 인터페이스) 스프링 역사 - EJB의 문제점 지적 - EJB 없이도 충분히 고품질의 확장 가능한 애플리케이션을 개발할 수 있음을 보여주고, 30,000라인 이상의 기반 기술을 예제 코드로 선보임 스프링 이름은 전통적인 J2EE(EJB)라는 겨울을 넘어 새로운 시작이라는 뜻으로 지음 인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 것 입니다. 스프링 핵심 원리 - 기본편 - .. 2022. 1. 28.
728x90
반응형