본문 바로가기

디자인 패턴2

[CS지식의 정석] 옵저버 패턴 옵저버 패턴 옵저버 패턴(observer pattern)은 주체가 어떤 객체(subject)의 상태 변화를 관찰하다가 상태 변화가 있을 때마다 메서드 등을 통해 옵저버 목록에 있는 옵저버들에게 변화를 알려 주는 디자인 패턴입니다. 여기서 주체란 객체의 상태 변화를 보고 있는 관찰자이며, 옵저버들이란 이 객체의 상태 변화에 따라 전달되는 메서드 등을 기반으로 '추가 변화 사항'이 생기는 객체들을 의미합니다. 또한, 다음 그림처럼 주체와 객체를 따로 두지 않고 상태가 변경되는 객체를 기반으로 구축하기도 합니다. 예시 내가 어떤 사람인 주체를 '팔로우'했다면 주체가 포스팅을 올리게 되면 알림이 '팔로워'에게 가야한다. 또한, 옵저버 패턴으로 주로 이벤트 기반 시스템에.. 2022. 7. 5.
[CS지식의 정석] 디자인패턴 소개와 라이브러리, 프레임워크 차이 디자인 패턴 디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것을 의미합니다. 흔히들 사용하는 스프링, 리액트, 뷰 이러한 라이브러리나 프레임워크는 디자인 패턴 위에 만들어져있다. 라이브러리와 프레임워크 차이 라이브러리 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것을 의미한다. 폴더명, 파일명 등에 대한 규칙이 없고 프레임워크에 비해 자유롭다. 예를 들어 무언가를 자를 때 '도구'인 '가위'를 사용해서 '내가' 직접 컨트롤하여 자르는데, 라이브러리는 이와 비슷하다. 프레임워크 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것을 의미한다. 폴.. 2022. 7. 5.