본문 바로가기

패턴

[디자인패턴] 이터레이터 패턴 안녕하세요 남갯입니다. 오늘은 이터레이터 패턴에 대해 포스팅 해보려고 합니다. 사건의 발단객체마을의 식당과 객체마을의 팬케이크 하우스의 두 가게가 합쳐지면서 메뉴를 합의해서 바꿔야하는 원인이 생겼습니다.한쪽은 ArrayList를 이용해서 만들었고 한쪽은 배열을 써서 만들었습니다. 두 가게는 메뉴를 구현하는 방법에 대해 합의를 보게 되었습니다. class MenuItem( val name: String, val description: String, val vegetarian: Boolean, val price: Double ) 이렇게 말이죠 두 가게가 어떤 문제때문에 싸우는지 보겠습니다. 팬케익을 만드는 하우스의 메뉴는 아래와 같습니다.class pancakeHouseMenu(val menuItems: A..
[디자인패턴] 옵저버패턴 안녕하세요 남갯입니다. 오늘도 어김없이 헤드퍼스트 디자인패턴의 도움을 받았습니다. 오늘은 디자인패턴 중 옵져버 패턴에 대해 포스팅해보려고 합니다. 옵져버패턴이란?옵저버 패턴은 한객체의 상태가 바뀌면 그 객체에 의존하는 다른객체들에게 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대 다의 의존성을 정의합니다. subject 혹은 Observable을 통해 구독을 하고있던 옵저버에게 연락하여 갱신을 시킵니다. 옵저버를 구독하고있는 의존된 객체들은 언제든지 Subject or Observable에게 구독을 요청할 수 있어야하고 원하는 시점이 구독을 취소 할 수 있어야합니다. 사건의 시작!기상정보스테이션 구축프로젝트의 업체로 선정되어서 WeatherData 객체를 통해 기온 습도 기압을 추적합니다. 이 데이터..