[디자인패턴] 옵서버(Observer ) 패턴이란? 또는 Event-Listener
·
공부/소프트웨어공학
Observer 패턴은 Behavioral Design Pattern이다.개인적으로는 Observer 패턴보다 event-listener라는 이름이 더 직관적이라고 생각한다. 하지만 범용적인 용어를 사용하겠다. 휴대폰 가게 A와 손님이 있다고 가정해보자. 손님은 새로운 아이폰이 갖고 싶어 매일같이 가게에 방문에 아이폰이 출시되었는가 확인한다. 새로운 기기가 한 달 뒤에 나올지 일년 뒤에 나올지는 아무도 알 수 없다. 손님의 무의미한 방문은 계속된다.휴대폰 가게 B에서는 다른 방식을 택한다. 새로운 휴대폰이 나올 때마다 가게 인근에 사는 모든 사람들에게 이메일을 전송해 휴대폰이 출시되었음을 알린다. 일부 사람에게는 희소식이 될 수 있지만 이 소식에 관심없는 사람에게는 스팸 메일에 불과하다.문제점휴대폰 가게..
[소프트웨어공학] SOLID 원칙에 대하여
·
공부/소프트웨어공학
SOLID 원칙이란 로버트 마틴이 말한 다섯 가지 설계 원칙이다. 지난 글에 이어서 썼던 cohesion(응집도), coupling(결합도)도 기본적인 설계원칙이다.보통 설계원칙을 말하라고 하면 cohesion, coupling을 말하는 경우일 수도, SOLID를 말하는 경우일 수도 있다. cohesion과 coupling을 바탕으로 SOLID가 탄생했다는 것과 SOLID는 5가지라는 것을 알아두자.    1️⃣ SRP(Single Responsibility Priciple) : 단일 책임 원칙Cohesion과 관련되어있다. Cohesion이 높을 수록 좋은 시스템이라 할 수 있다. 기존 Cohesion에서는 하나의 모듈이 하나의 기능을 할 때 functional cohesion이라 하였다. 그 범위를 ..