-
9/25 - 특강(디자인 패턴) & 팀 프로젝트 시작TIL 2023. 9. 25. 22:01반응형
이번 팀 프로젝트는 3D로 진행할 예정이다.
내가 맡은 파트는 아이템 관련 전반적인 부분이다.
하는 김에 인벤토리 부분도 내가 구현하기로 했음
오늘 특강은 디자인 패턴이였다.
디자인 패턴이란?
코드를 짜다보면 발견되는 / 유지 보수성이 좋은, 확장성이 좋은
같은 패턴의 코드들을 뜻함
디자인 패턴 - 전략패턴
특정한 작업을 독립적으로 정의하고 캡슐화 하여
해당 작업을 동적으로 교체할 수 있도록 하는 패턴
==> 어떤 작업을 정의하고, 그 작업이 여러개인 경우
코드가 실행되는 동안 동적으로 교체할 수 있도록 하는 것
헤드 퍼스트 라는 책의 예시
다양한 오리를 구현해야 한다고 가정
Duck이라는 클래스 작성 후
하위 duck 클래스들을 작성하여 상속받도록 구현
이 때, 부모 클래스가 일부 자식 클래스에 필요없는 메서드를 포함한 경우
나아가 그런 클래스가 더 많이 추가되는 경우
재사용성을 높이려고 사용한 상속이 오히려 재사용성을 해치는 상황이 생길 수 있다.
이럴 때 오리의 행동 종류에 따라 클래스 내용을 잘 분리하는것이
캡슐화 -> 전략패턴이다.
이는 인터페이스로 구현이 가능해짐반응형'TIL' 카테고리의 다른 글
10/11 - 배열과 리스트, 연결리스트 + 관련된 데이터자료 (0) 2023.10.11 9/26 - 팀 프로젝트 구현 추가 정리 (0) 2023.09.26 9/22 - 강의 수강 (0) 2023.09.22 9/21 - 특강/개인 프로젝트 완료 (0) 2023.09.21 9/20 - 개인 프로젝트 진행 중 (0) 2023.09.20