😌2022.08.31

일일 회고 21일차

할일 및 한일

경험 및 배움

오늘은 오전에 모바일 프로그래밍 전공 수업을 듣고, 오후에는 디자인 패턴 9장(반복자 패턴과 컴포지트 패턴)을 notion 정리를 하였다.

모바일 프로그래밍은 안드로이드를 이용하여 어플리케이션을 생성해보는 과목인데, 평소에 한번쯤은 경험해보고 접해보고 싶던 분야여서 흥미가 높다. 그래서 수업이나, 책을 보고 공부할 때 쓰는 예제, 과제 들을 notion에 정리하고, 코드도 Github에 레퍼지토리를 생성하여 기록해 볼 생각이다.

디자인 패턴 9장(반복자 패턴과 컴포지트 패턴)(70%)

반복자 패턴(Iterator Pattern)

컬렉션의 구현 방법을 노출하지 않으면서 집합체 내의 모든 항목에 접근하는 방법을 제공한다.

  • 반복자 패턴을 사용하면, 집합체 내에서 어떤식으로 일이 이루어지는지 알지 못하는 상태에서 안에 들어있는 모든 항목을 대상으로 반복 작업을 수행할 수 있다.

  • 모든 항목에 접근하는 일을 컬렉션이 아닌 반복자 객체가 맡게되어, 인터페이스와 구현이 간단해지고 객체 컬렉션 관리에만 집중할 수 있다.

여기서 또 하나의 원칙이 나온다.

단일 역할 원칙 = SRP

  • 단일 책임(역할) 원칙은 어떤 클래스가 바뀌는 이유는 한 가지뿐이여야 하고, 한 클래스는 하나의 역할만 맡아야 한다는 원칙이다.

  • 클래스를 많이 고칠일이 생기면 그만큼 오류도 날 가능성이 높아지고, 디자인에도 영향을 미친다.

또한, 응집도 한 클래스 또는 모듈이 특정 목적이나 역할을 얼마나 일관되게 지원하는지를 나타내는 척도로써, 단일 책임 원칙을 잘 지키면 응집도가 상승하고, 관리하기 쉬워진다.

단일 책임 원칙(SRP)가 포함된 SOLID 원칙(객체지향 설계 5대 원칙)은 예전에 관심이 생겨 한번 공부하고, 정리한 적이 있어서 링크를 첨부하려 한다.

개선 및 목표

  • 전공 과목이 시작되고, 과제도 생기면서 더 바빠질 예정이다. 개인 공부에 소홀해지지 말고 잊지 말고 모두 기록하자.

Last updated