본문 바로가기

IT/Design Pattern3

Singleton Pattern(feat. Logger) 로그는 버그가 발생할 수 있는 곳이나 애플리케이션의 중요한 이벤트나 상태 변화가 있을 때 찍습니다. 로그를 만들어 놓으면 문제가 발생했을 때 신속하게 대응할 수 있고 어디에서든 필수로 만들어 놓아야 합니다. 로그를 찍는 클래스를 어떻게 만들 수 있을까요?로그 클래스의 특징을 생각해보면, 로그는 어느 위치에서든 사용될 수 있으며 각 클래스마다 인스턴스를 생성해서 로그를 찍으면 메모리 낭비가 발생할 수 있습니다. 이를 해결하기 위해 싱글턴 패턴을 사용하여 로그 클래스의 인스턴스를 하나만 생성하는 것이 좋습니다. 싱글턴 패턴은 단 하나의 인스턴스만 생성되도록 강제하는 패턴으로, 단 하나의 인스턴스를 생성하는 것입니다.따라서 싱글턴 패턴을 사용한 로그 클래스를 만들면 여러 클래스에서 해당 클래스의 인스턴스를 생.. 2024. 5. 18.
Observer Pattern Observer : 관찰자, 감시자라는 의미입니다. 어떠한 값을 관리하고 이에 대한 알람 값을 받고 싶습니다. 이에 대한 로직을 구현할 때, 관리를 하는 측에서는 데이터가 자동으로 업데이트 됩니다.  자율 주행 자동차를 예시로 사용을 해봅니다. 테슬라의 Model X에서는 하나의 칩에서 브레이크, 미터기의 현재 속도, 차량과의 거리 정보들을 알림받고 싶습니다. 그럼 자동차의 main CPU 에서는 각각의 값을 받아야 합니다. 이에 대한 구현을 어떻게 하면 좋을까요? 먼저 class를 짜봅니다.1. MainComputer : 알람 받을 곳, Meter와 Camera, Break에서 데이터가 변동되면 받아야 함. 2. Meter: 알람 주는 객체 1. 데이터가 변할 시 알람을 줌3. Camera: 알람 주는.. 2024. 5. 15.
Factory pattern 제품을 생산하는 공장에서는 동일한 공정을 거치면서 내부 부품을 변경하거나 추가하여 여러 종류의 제품을 찍어냅니다. 이러한 상황에서 Factory 패턴은 매우 유용합니다. Factory 패턴은 동일한 틀을 가진 제품을 생성할 때, 클라이언트 코드가 직접 구체적인 클래스를 호출하는 대신, 인터페이스나 추상 클래스를 통해 객체 생성을 위한 메서드를 호출합니다. 이 메서드는 어떤 클래스의 인스턴스를 생성할 지 결정하고 해당 객체를 반환합니다. 이러한 설계 패턴을 사용하면 새로운 부품이나 기능이 추가되거나 변경될 때 손쉽게 제품을 확장하고 관리할 수 있습니다.  Factory pattern을 사용한 예시를 봅시다.LifecycleManager의 Messenger 클래스는 DesignManager(DM)와 Serv.. 2024. 5. 12.