기타/북스터디
-
[디자인패턴] 전략 패턴기타/북스터디 2022. 7. 10. 12:46
오늘은 디자인패턴 중 하나인 전략 패턴에 대해 정리해보려고 한다. 전략 패턴이란, 알고리즘군을 정의하고 캡슐화해서 각가의 알고리즘군을 수정해서 쓸 수 있게 해주는 패턴으로 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경을 할 수 있게 해준다. 전략 패턴을 적용하는 과정을 아래 예시를 보며 이해해보자. 여러 종류의 캐릭터가 존재하는 액션 어드벤쳐 게임을 만든다고 생각해보자. 너무 상세하게 설계과정을 나열하다보면 글이 길어질 수 있어 시작은 추상클래스로 공통된 부분을 캡슐화하고 상속받는 구조로 시작하자. 여기까지는 Character라는 슈퍼클래스를 상속받는 Knight와 Queen이라는 서브클래스가 있는 구조이고 기능을 추가하기 위해 무기를 가지고 싸우는 행동을 추가하기로 했다. 무기를 가지고 싸우는 행..
-
Test Driven Development By Example 2부 정리기타/북스터디 2022. 6. 4. 00:07
xUnit 예시 테스트를 위한 도구 구현하기 1. xUnit으로 가는 첫걸음 첫 번째 작은 단계는 아직 프레임워크가 없기때문에 테스트 케이스를 수동으로 검증하자. 두 번째는 테스트 프레임워크에 대한 할 일 목록 정리하기.테스트 메서드 호출하기setUp 호출하기 나중에 tearDwon 호출하기 테스트 메서드가 실패하더라도 tearDown 호출하기 수집된 결과를 출력하기 클래스를 정의하기 전에 테스트 코드부터 작성하기 테스트 코드가 초록 막대가 뜨게 클래스와 메서드를 정의하고 리팩토링 진행하기 리팩토링의 일반적인 패턴 하나의 특별한 사례에 대해서만 작동하는 코드를 가져다가 다른 여러 사례에 대해서도 작동할 수 있도록 상수를 변수로 변화시켜 일반화하는 것 질문 p.161: 자기참조 프로그래밍이 뭐지? p.16..
-
[객체지향의 사실과 오해] 2주차 정리 (3~4장)기타/북스터디 2022. 4. 1. 01:18
오늘은 북스터디로 진행 중인 객체지향의 사실과 오해 3장, 4장을 읽어보고 정리를 해보려고 한다. 원래 1주차인 1~2장도 정리해야했지만 개인적인 사정을 핑계로 책을 읽는 시간을 미루다가 정리할 타이밍을 놓쳤다,,, 계획적으로 행동하며 앞으로는 계속 정리를 이어나가려고 한다. 책에 쓰여진 글들을 여기에 쓰기보다는 뭔가 와닿고 읽으면서 든 나의 생각을 정리하는 느낌으로 3장. 타입과 추상화 모든 장의 시작말은 누군가가 얘기한 말의 인용으로 시작한다. 3장의 시작글은 키스 데블린의 말로 추상화에 관한 이야기이다. 이 글귀를 보고는 처음에 딱 든 생각은 정글에서 활동하면서 짧게 세미나형식으로 운영체제 수업을 카이스트의 교수님께 들은 적이 있는데 그 때가 떠올랐다. 아직도 추상화라는 개념이 어렵게 느껴지지만 추..