반응형
반응형
우아한 테크코스 프리코스 4주차를 시작하면서, “서비스의 핵심을 파악하고, 이를 우선 구현해 봐라”는 피드백을 받았습니다. 사실 지금까지 TDD에 대해서 배운바, 도메인 로직의 테스트 코드를 구성하고 나서, 실제 코드를 만드는 것에 익숙해져 있었습니다. 그런데 갑자기 “핵심 로직을 우선 구현하라”…? 사실 의아한 부분이 많았습니다. 지금까지 주구장창 도메인 로직의 구성부터 생각하며 빌드를 해왔는데… 음.. TDD와는 다른 어떠한 방법론에 대한 이야기라고 생각 들었습니다. 이게 단순히 ‘설계를 꼼꼼히 하라, 그리고 TDD 구현을 시작하라’ 라는 의미라면, 지금까지 잘 해왔다고 생각했지만, 분명 TDD의 단점은 원하는 서비스를 빠르게 만들진 못한다는 생산성의 문제가 있었기 때문에, 이를 개선해 나가야 할 방..
❓추상 팩토리 패턴? 추상 팩토리 패턴은, 팩토리 메서드 패턴에서 한 층 더 나아가, 팩토리 그룹, 객체 패밀리 (object families)를 만들어 확장해 나가는 패턴을 말합니다. 팩토리 매서드에 대한 글은 아래를 참고해주세요! [디자인 패턴] 팩토리 메서드(Factory Method) 패턴 ❓팩토리 메서드 패턴? 팩토리 메서드 패턴은 팩토리 패턴에서 확장된 패턴이라 생각하시면 됩니다. 기존 팩토리 패턴은 객체의 생성을 처리하는 동작을 클래스 혹은 메서드로 분리하는 것을 lurgi.tistory.com 제가 이해한 바로는, 쉽게 말해서 여러개의 추상 팩토리를 가진 그룹을 만드는 패턴을 추상 팩토리라 할 수 있을 것 같습니다. ❓추상 팩토리 패턴의 예 다이어그램을 통해 알아봅시다. 다양한 추상 팩토리..
벌써 우테코의 프리코스 4주차가 시작되었습니다. 저는 이전 미션에서 Objcet.freeze()에 대한 개념을 알게 되었는데요, 간단하게 Object.freeze()에 대해서 짚고 넘어가보겠습니다. ❓Object.freeze() 메서드의 기능 단어에서 알 수 있듯이, feeze 즉 객체를 동결하는 기능을 가졌습니다. 예시를 먼저 들어볼게요. const obj = { name: "lurgi", age: 20, } obj.name = "jeong" //변경 가능 console.log(obj.name) //jeong 객체는 const 로 선언한다 하더라도, 키 값을 알면 수정이 가능한데요, 이 기능을 방지해주는 역할을 합니다 const obj = { name: "lurgi", age: 20, } Object...
이번 주 역시 너무나 많은 것을 배울 수 있는 좋은 시간을 보냈습니다. 2주 차와 동일하게 코드 리뷰를 통해 많은 것들을 배울 수 있었구요. 특히나 이번 주는 코드를 작성하면서 TDD에 대해서 깊게 생각해 볼 수 있는 시간이었어요. 저는 1주 차 때부터 TDD에 대한 내용을 공부하고, 3주간 이를 적용해 봤는데요, 이번 주가 되어서야 TDD의 본질적인 의미를 조금 이해한 느낌이 들었습니다! 아직 한참 멀었겠지만요🤣 🌱3주 차 미션을 시작하기 앞서 배운 것들 이번 주 역시 많은 분들이 코드 리뷰를 해준 덕분에 중요한 지식을 배울 수 있는 시간을 가졌습니다! 코드 리뷰를 하면서 ‘정규 표현식’으로 작성된 코드들을 보며 ‘이런 식으로 작성할 수 있구나!’ 깨달음을 얻게 되었죠. 지금 까지 미뤄왔던 정규 표현식..
❓팩토리 메서드 패턴? 팩토리 메서드 패턴은 팩토리 패턴에서 확장된 패턴이라 생각하시면 됩니다. 기존 팩토리 패턴은 객체의 생성을 처리하는 동작을 클래스 혹은 메서드로 분리하는 것을 말하는데요, 여기서 한 발 더 나아가 팩토리 메서드 패턴은 ‘서브 클래스’ 에서 구현하는 패턴을 말합니다. 팩토리 패턴은 여기서 자세하게 보실 수 있습니다! [디자인 패턴] 팩토리(Factory) 패턴 ❓팩토리 패턴 팩토리 패턴은 생성 패턴중에서도 가장 기본이 되는 패턴이라고 합니다. 객체 생성 처리를 위임하여 객체 지향의 문제점을 해결할 수 있다고 하네요. 객체 생성을 담당하는 동작 lurgi.tistory.com ❗팩토리 메서드의 예시 (JS) // 추상 동물 클래스 (인터페이스로 간주) class Animal { mak..
❓싱글턴 패턴? 싱글턴 패턴은 클래스의 인스턴스를 딱 하나로 고정시켜 놓도록 보장하는 패턴을 말합니다. 특정 클래스의 인스턴스가 오직 하나만 생성되기 때문에, 어디서든 그 인스턴스에 접근하더라도 하나의 인스턴스가 목적지가 됩니다. 싱글턴 패턴은 리소스 공유나 설정관리, 캐싱, 로그 새성과 같은 전역 상태를 가져야 하는 상황에서 사용되는 패턴입니다. 단일 인스턴스를 공유함으로써 리소스 낭비를 줄일 수 있고 일관된 상태를 유지할 수 있다는 것이죠! ❗싱글턴 패턴의 예시 (JS) 싱글턴 패턴의 예시를 자바스크립트 코드 보여드리겠습니다. class Singleton { constructor() { if (!Singleton.instance) { Singleton.instance = this; } return S..