반응형 디자인패턴 프로그래밍/디자인패턴 2020. 4. 7. Observer (옵저버) 일반적으로 옵저버 패턴을 설명할 때 이러한 이야기를 한다. '어떤 연예인이 있는데 연예인의 주변을 둘러쌓는 팬들을 떠올리면 된다. 연예인은 팬들이 누군지 한명한명 알 필요는 없지만 말을 하거나 노래를 부르면서 모든 팬들에게 자신의 의사를 전달할 수 있다.' 여기서 연예인은 주체가 되고 팬들은 옵저버가 된다. 현재 우리 프로젝트에서 내가 만든 핫타임이 옵저버를 이용해서 만들어졌다. ModelHotTime - 핫타임 정보를 가지고 있다. ControllerHotTime - 이벤트를 관리하는 컨트롤러 UnitHotTimeMark - 핫타임 이벤트임을 나타내는 아이콘 - 대전모드, 싱글모드 등 각 버튼에 하나씩 붙어있다. 예시1) 대전모드 핫타임 이벤트가 종료되고 싱글모드 핫타임만 남았다. 1. Cont.. 프로그래밍/디자인패턴 2020. 4. 7. Singleton (싱글톤) 오직 단 하나의 인스턴스 객체만을 생성할 수 있게 강제하는 패턴이다. 보통 Manager Class가 싱글톤으로 구현된다. (NetworkManager 라던지 객체가 하나 이상 있어서는 안되는 Class들) 사용 예시) public Class NetworkManager { private NetworkManager(); private NetworkManager m_instance; public NetworkManager Instance { get { if(m_instance== null) m_instance = new NetworkManager(); return m_instance; } public void SendLogin() { // 로그인을 하기 위한 API를 호출한다고 치고... } } .. 프로그래밍/디자인패턴 2020. 4. 7. 디자인패턴 일정하게 반복되는 패턴의 프로그래밍 설계 디자인패턴의 목적성과 필요성 - 가독성과 유지보수가 편하다. - 검증된 패턴을 사용하면 빠르고 높은 완성도의 코드를 구현할 수 있어 비용을 아낄 수 있다. - 본인 혼자만의 코드가 아닌, 검증되고 널리 알려진 패턴들을 이용한 코드는 협업자로 하여금 이해하기가 쉽다. - 일반적으로 프로그래밍을 하는 사람마다 코딩 스타일이 너무나도 달라 협업하거나 레퍼런스를 참고하는데 어려움이 있다. 디자인패턴은 이러한 문제를 해결하는데 큰 도움을 준다. - 또한, 디자인패턴들은 이미 그 성능이 검증된 방법이라 웬만하면 본인이 대충 생각해서 작성한 코드보다는 안정성 면에서 보장되어 있다. (우리가 겪고 있는 어려움은 대체적으로 다른사람들도 겪었고 그것을 해결하기 위한 방법들을 패.. 이전 1 2 다음 반응형