게임 개발/디자인 패턴 2

발행 구독 디자인 패턴

발행 구독 디자인 패턴푸시(Push)형태의 알림(Nofitication)을 구현하는데 적합한 디자인 패턴발행자(Publisher)와 구독자(Subscriber)로 구분됨콘텐츠 제작자는 콘텐츠를 생산발행자는 콘텐츠를 배포구독자는 배포된 콘텐츠를 받아 소비제작자와 구독자가 서로를 몰라도, 발행자를 통해 콘텐츠를 생산하고 전달할 수 있음 (느슨한 결합)발행 구독 디자인 패턴의 장점제작자와 구독자는 서로를 모르기 때문에 느슨한 결합으로 구성됨유지 보수(Maintenance)가 쉽고, 유연하게 활용될 수 있으며(Flexibility), 테스트가 쉬워짐시스템 스케일을 유연하게 조절할 수 있으며(Scalability), 기능 확장(Extensibility)이 용이함

SOLID 원칙

SOLID는 소프트웨어 디자인의 다섯 가지 핵심 원칙을 머리글자어로 만든 용어— 단일 책임(Single responsibility) 하나의 객체는 하나의 의무만 가지도록 설계한다. — 개방-폐쇄(Open-closed) 기존에 구현된 코드를 변경하지 않으면서 새로운 기능을 추가할 수 있도록 설계한다. — 리스코프 치환(Liskov substitution) 자식 객체를 부모 객체로 변경해도 작동에 문제 없을 정도로 상속을 단순히 사용한다. — 인터페이스 분리(Interface segregation) 객체가 구현해야할 기능이 많다면 이들을 여러 개의 단순한 인터페이스들로 분리해 설계한다. — 종속성 역전(Dependency inversion) 구현된 실물보다 구축해야 할 추상적 개념에 의존한다. SOLID 원..

반응형