소프트웨어 개발과 프로젝트 관리

GoF의 디자인 패턴 중, 어떤 객체의 상태가 바뀌었을 때 그에 의존하는 여러 객체에 자동으로 통지되도록 하는 패턴은?

  1. AObserver
  2. BSingleton
  3. CAdapter
정답과 해설 보기

정답: A. Observer

Observer 패턴에서는 통지하는 쪽(서브젝트)이 통지를 받고 싶은 객체(옵서버)를 등록해 두고, 상태가 바뀌면 등록된 모든 객체에 알립니다. 통지하는 쪽은 상대의 구체적인 클래스를 몰라도 되므로 결합도를 약하게 유지할 수 있습니다. 예를 들어 센서 값이 바뀌었을 때 표시·기록·경보의 각 처리에 알리는 설계에 쓸 수 있습니다. Singleton은 클래스의 인스턴스가 하나만 되도록 하는 패턴, Adapter는 맞지 않는 인터페이스를 변환하여 연결하는 패턴입니다.

이 분야 연습하기 분야로 돌아가기

소프트웨어 개발과 프로젝트 관리의 다른 문제

  1. 펌웨어의 소스 코드에 정적 분석 도구를 사용할 때, 프로그램을 실행하지 않고 발견하기 쉬운 문제로 가장 적절한 것은?
  2. 블랙박스 테스트의 설명으로 적절한 것은?
  3. 정수만 입력되는 칸에서 1 이상 100 이하의 값을 받아들이고, 그 밖의 값은 오류로 처리한다. 동치 분할로 입력을 나누었을 때 동치 클래스의 수(유효 동치 클래스와 무효 동치 클래스의 합계)는?
  4. 입장료를 나이(0 이상의 정수)로 정하는 프로그램이 있으며, 0~17세는 어린이 요금, 18~64세는 일반 요금, 65세 이상은 시니어 요금으로 한다. 요금 구분이 바뀌는 경계를 확인하기 위해 경계값 분석으로 고르는 테스트 값의 조합으로 가장 적절한 것은?
  5. 사양은 '온도가 85 ℃ 이상이면 경고를 낸다'이지만, 펌웨어에는 잘못하여 'if (t > 85)'라고 쓰여 있었다. 온도 t는 정수로 한다. 다음 테스트 값 중 이 오류를 발견할 수 있는 것은?