분류 전체보기 229

좋은 객체 지향 설계의 원칙(SRP/DIP/OCP)

SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 클라이언트 객체는 실행하는 책임만 담당해야 한다. DIP 의존관계 역전 원칙 프로그래머는 추상화에 의존해야지, 구체화에 의존하면 안된다. 의존성 주입은 이 원칙을 따르는 방법 중 하나다. -> AppConfig를 이용하여 객체 인스턴스를 클라이언트 코드 대신 생성하여, 클라이언트 코드에 의존관계를 주입함. OCP 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 다형성 사용, 클라이언트가 DIP를 지킴 애플리케이션을 사용 영역과 구성 영역으로 나눔 소프트웨어 요소를 새롭게 확장해도 사용 영역의 변경은 닫혀 있다.

백엔드 2021.12.27

TIL - 2021/12/27

인텔리제이에서 F2키를 누르면 오류난 곳으로 이동할 수 있음. Enum type은 ==을 써도 된다. 단일책임원칙(single responsibility principle)이란 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함을 일컫는다. 클래스가 제공하는 모든 기능은 이 책임과 주의 깊게 부합해야 한다. psvm = public static void main 단축키 무조건 개발은 역할, 구현 필수 (객체지향) -> interface, class 메인 메소드보다 테스트가 중요 프리미티브 타입은 null은 넣을수가 없음 Assertions.assertThat(order.getDiscountPrice()).isequalTo // 할인 확인 단일 테스트가 수천개가 있어도 -> 몇초..

etc/TIL 2021.12.27

회원 도메인과 리포지토리 만들기 - 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

멤버 레포지토리 패키지에 MemberRepository Interface를 생성하고, MemoryMemberRepository.class에서 MemberRepository의 Interface를 implements하여, 구현하였다. 메모리 구현체 예시 package hello.hellospring.repository; import hello.hellospring.domain.Member; import java.util.*; public class MemoryMemberRepository implements MemberRepository{ private static Map store = new HashMap(); private static long sequence = 0L; @Override public M..

백엔드 2021.12.18

인텔리제이(IntelliJ) 단축키 정리

스프링 강의를 듣는 도중 좋은 단축키가 많이 나오길래, 단축키를 정리해보았다. getter/setter 단축키 - Alt + Insert 이동 줄이동 Alt + Shift + ↑↓ 한줄 아래로 복붙 Ctrl + d 코드 한 줄 삭제 Ctrl + y 파일 가장 위, 아래로 이동 Ctrl + Home, End 자동완성 괄호안에서 ;로 코드완성하기 Ctrl + Shift + Enter 변수 추출하기 Ctrl + Alt + v 생성자,Getter와Setter,메서드 오버라이딩 자동완성 Alt + Insert 자바클래스 main메서드 자동생성 main + Tab System.out.println(); 자동완성 메인메서드안에서 sout + Tab System.out.printf(“”); 자동완성 메인메서드안에서 s..

백엔드 2021.12.18