일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 코딩테스트
- 카카오
- TypeORM
- OpenCV
- 시스템호출
- AWS
- 카카오 알고리즘
- 코테
- 해시
- nestjs auth
- nestJS
- Nodejs
- 컴포넌트스캔
- Spring
- @Component
- C언어
- git
- @Autowired
- thymeleaf
- spring boot
- 프로그래머스
- 구조체배열
- C++
- 카카오 코테
- 가상면접사례로배우는대규모시스템설계기초
- 파이썬
- 알고리즘
- nestjs typeorm
- python
- 스프링
- Today
- Total
목록OCP (2)
공부 기록장 💻
인프런 - 스프링 핵심 원리 기본편 정리 회원, 주문과 할인 도메인을 설계하고 간단한 구현, 테스트를 해보았다. 고정 할인 정책에서, 새로운 정률 할인 정책이 등장함과 동시에, 객체 지향 원리를 적용하지 못한 기존 설계의 문제점을 파악하고 설계를 변경해 나가자. 그리고 좋은 객체 지향 설계의 원칙인 SOLID 원칙 중, 다음의 3가지 원칙을 적용해 나가는 과정을 이해해보자. 1. DIP (Dependency Injection Principle, 의존 관계 역전 원칙) - 구현체가 아닌 인터페이스에만 의존하도록, 외부에서 의존 관계를 주입하는 역할을 따로 분리하자. 2. OCP (Open-Closed Principle, 개방-폐쇄 원칙) - 클라이언트의 코드를 변경하지 않고, 구현체를 주입하는 외부의 코드..
인프런 - 스프링 핵심 원리 기본편 정리 스프링의 핵심 컨셉은? 객체 지향 언어인 Java 기반의 프레임워크라는 점이다. 즉 객체 지향 언어가 가진 강력한 특징을 잘 살려내 좋은 객체 지향 애플리케이션을 개발할 수 있게 돕는 프레임워크라 할 수 있다. 그렇다면 좋은 객체 지향 프로그래밍이란? 객체들의 모임으로, 각 객체는 서로 메시지를 주고 받고, 데이터를 처리할 수 있다. 프로그램을 유연하고 변경이 용이하게 만든다는 특징을 지닌다. 이를 한 단어로 정의해보자면 다형성(polymorphism) 이다. 세상의 모든 것을 객체로 표현한다면, 객체를 역할(인터페이스)과 구현(클래스)으로 구분함으로써 새로운 기능을 기존 것의 변경 없이 추가를 용이하게 한다. 역할과 구현을 분리하자! 역할과 구현으로 구분하면 세..