본문 바로가기

헤드퍼스트 디자인 패턴2

[디자인패턴 - 팩토리패턴] 팩토리패턴이란? 예제를 통해 이해하기 (Factory Pattern) for Head First Design Patterns (헤드퍼스트 디자인 패턴 참조) # 팩토리패턴## 팩토리 패턴의 종류팩토리패턴의 종류는 크게 아래 2가지가 있다.1. 팩토리 메서드 패턴2. 추상 팩토리 패턴번외 심플 팩토리 이제 하나씩 알아보자!## 팩토리 메서드 패턴- 팩토리 메서드는 심플팩토리에서 팩토리 자체를 추상화를 시키고 각각의 구체적인 팩토리 클래스가 특정 타입의 객체 생성을 담당하는 패턴- 새로운 타입의 객체를 추가하려면 새로운 팩토리 클래스만 추가 하면 되기 때문에 OCP를 준수한다. 1. 추상클래스로 팩토리와 로봇을 만들어준다.abstract class 로봇 { abstract fun 설명(): String}abstract class 로봇팩토리(){ abstract fun 로봇제작() : 로봇 } 2. 구체적인 로봇 클래스를 정의 해준다.class 뛰는로봇.. 2024. 4. 30.
[디자인패턴 - 옵저버패턴] 옵저버패턴이란? 예제를 통해 이해하기 (Observer Pattern) for Head First Design Patterns (헤드퍼스트 디자인 패턴 참조) # 옵저버 패턴 먼저 책에서 나온 옵저버 패턴의 정의를 살펴보자! 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의한다 한줄로 정리 하자면 일련의 객체 사이에서 일대다 관계를 정의 한다라고 보면 된다. 책에서는 기상 정보를 예를 들었다 나는 주식 가격 변동 모니터링 서비스으로 예를들겠다. 시장에서 주식의 가격이 변하면 이 정보를 받아서 각각의 투자자에게 알려주는 시스템이라고 치겠다. 우선 옵저버 패턴은 일대다라고 했으니 주식이 일에 해당하고 그 주식 투자자가 다에 해당한다고 보면 된다. 주식 가격 변동 모니터링 서비스를 옵저버 패턴으로 구현하면 주식 가격이 변하면 거기에 의존하는 모든 투자자들한테 알림이 간다. 위와 같은 시나리.. 2024. 2. 15.