반응형
반응형
❓팩토리 패턴 팩토리 패턴은 생성 패턴중에서도 가장 기본이 되는 패턴이라고 합니다. 객체 생성 처리를 위임하여 객체 지향의 문제점을 해결할 수 있다고 하네요. 객체 생성을 담당하는 동작을 별도의 클래스 혹은 별도의 메서드로 분리하여 객체의 생성 동작을 위임하는 것을 말합니다. 즉 객체의 생성을 캡슐화 한다는 것! ❓팩토리 패턴의 장점 팩토피 패턴은 객체 지향의 문제점을 해결해 준다고 할 수 있습니다. new 연산자를 사용해 직접 객체를 생성하는 것은 ‘강력한 결합’을 만들어 낼 수 있습니다. 팩토리 패턴을 통해 ‘느슨한 결합’으로 만들어 의존성을 떨어뜨릴 수 있다는 것입니다. ❗팩토리 패턴의 예시 (JS) class Korean { greeting () { return "안녕하세요" } } class A..
우테코 프리코스의 3주 차가 벌써 막바지에 다다랐습니다. 저는 현재 3주 차 미션의 리팩토링을 진행하고 있는데요, 저번 2주 차 피드백에서 “if문 대신 switch문을 쓰는 게 더 깔끔하게 보일 수 도 있다” 라는 피드백을 받았습니다. 이 피드백을 계기로 switch 구문과 If 구문의 차이점을 정확하게 알고 적시에 사용할 수 있는 역량을 길러보려고 합니다! 일단 저는 지금까지 개발 공부를 하며 switch 구문을 단 한 번도 사용해 본 적이 없습니다. 그리고 굳이 switch 구문을 사용해야 될 필요성도 못 느꼈죠. 그래서 if문의 설명은 생략하고, switch 구문의 특성부터 알아보도록 하겠습니다. ❓Switch 구문의 특성 1️⃣ 값에 따른 Case 분기 switch 구문에서의 case는 특정 변..
저번주 우아한 테크코스 프리코스 2주 차 피드백에서 이러한 피드백을 받았습니다 한 함수가 한 가지 기능만 담당하게 한다 그리고, 현재 읽고 있는 ‘클린 아키텍처’ 책에서 다음과 같은 내용이 있었습니다. ‘SRP(Single-Responsibility Principle)는 ‘한 함수가 한 가지 기능만을 담당하는 것과는 다른 법칙이다. 이는 함수형 프로그래밍의 원칙’ 그리고 이 책을 통해서 ‘SRP ≠ 한 함수가 한 가지 기능만 담당하게 한다’ 라는 것을 이해할 수 있었습니다. 그 부분을 공유하려고 이 글을 적어봅니다! ❓SRP의 진정한 의미 SRP의 정의는 다음과 같습니다. ‘단일 모듈은 변경의 이유가 하나, 오직 하나 뿐이어야 한다.’ 이 문장에서 부터 ‘함수’와는 거리가 있다는 사실이 느껴지시나요? ‘..
이번 시간에는 ATDD에 대해서 공부해 보려 합니다. ATDD는 사용자 요구를 더 잘 이해하기 위한 방안으로 탄생한 소프트웨어 개발론 인데요, 현재 TDD에 대해서 공부하고 있는 저로써 TDD의 심도있는 이해에 도움이 될 것 같아 공부해 보게 되었습니다. ❓ATDD란? ATDD는 TDD에서 한 발 더 나아간 개념이라고 할 수 있는데요, ATDD는 인수 테스트-주도-개발 이란 뜻인데요, 여기서 인수는 ‘인수인계’에서 뜻하는 그 인수라는 점에서 ATDD가 ‘소통’에 집중된 소프트웨어 개발 방법론이라는 것을 알 수 있습니다. 개인적으로는 이 그림이 ATDD의 핵심을 말해준다고 생각합니다. ❓ATDD의 장점? ATDD는 각 팀 별로 요구사항을 이해하고 있더라도, 그 이해가 다를 수 있다는 관점에서 사용자의 요구..
이번 우아한 테크코스 프리코스의 3주차 미션을 설계하기 위해 많은 준비를 했는데요, 이번 읽고있는 책인 ‘클린 아키텍처’에서 ‘유스 케이스’라는 개념을 알게 되었습니다. 그리고 ‘유스케이스 다이어그램’ 이라는 것을 같이 알게 되었고, 이를 이용한 시스템 설계를 소개해드리고자 합니다. ❓유스 케이스란 (Use Case) 유스 케이스(Use Case)의 정의는 다음과 같습니다. ‘소프트웨어 개발에서 사용자가 시스템과 상호작용하는 방식을 기술하는 기능적 요구사항을 표현하는 기법’ 이를 이용하여 비지니스의 요구사항을 분석하고, 시각화 할 수 있다고 합니다. 유스 케이스는 다음을 포함하고 있습니다. 액터(Actors): 시스템과 상호작용하는 주체. 주로 사용자, 시스템, 외부 기관 등을 나타냅니다. 액션(Acti..
벌써 우테코 프리코스 3주 차가 시작되었습니다! 이번 새로운 과제에서의 테스트 코드가 조금 바뀌었는데요, 단순히 jest로 실행하던 테스트 CLI가 다음과 같이 변경되었습니다. "scripts": { "test": "jest --detectOpenHandles --watch" } watch라는 명령어가 추가되었는데요, 그렇다면 이게 무엇을 하는 것일까요? ❓Watch 모드는 어떤걸 하는 걸까? Watch 모드는 실패한 테스트, 정규 표현식을 사용하여 테스트 하고 싶은 파일만 실행시켜주는 기능입니다. 원하는 테스트를 골라서 실행할 수 있게 되는 것이죠! jest --watch 를 실행하게 되면 다음과 같은 화면이 나옵니다. Watch를 실행하게 되면 다양한 옵션을 선택할 수 있습니다. a 를 입력해 모든 ..