코드 작성할 때 단일책임원칙으로 작성하는게 좋다고 해서 여러 매니저들을 만들었습니다. (UIManager, CardManager, SelectionManager 등등)
작성하다보니 매니저에서 다른 매니저의 함수를 직접 호출하게 했는데 보통은 어떤 식으로 진행하나요? 이벤트를 통해서 호출하는게 일반적인가요?
고수 분들은 어떻게 하는지 궁금합니다.
코드 작성할 때 단일책임원칙으로 작성하는게 좋다고 해서 여러 매니저들을 만들었습니다. (UIManager, CardManager, SelectionManager 등등)
작성하다보니 매니저에서 다른 매니저의 함수를 직접 호출하게 했는데 보통은 어떤 식으로 진행하나요? 이벤트를 통해서 호출하는게 일반적인가요?
고수 분들은 어떻게 하는지 궁금합니다.
의존성 주입이나 이벤트로 처리해요
단일책임원칙이 매니저들을 많이 만드는거랑은 거리가 멀텐데요...
단일책임원칙은 하나의 클래스에서 하나의 책임만 가져야 한다는 원칙인데 오히려 전역적으로 접근 가능한 싱글톤 매니저같은걸 많이 만들면 매니저에 의존적인 클래스들이 많이 생겨요 저는 매니저 클래스는 매니저가 특정 기능만 수행하고 다른 객체의 참조를 가지지 않을 때만 만들어요 예를 들면 사운드매니저?
매니저에서 다른 매니저의 함수를 직접 호출한다는것부터 단일책임원칙은 깨진 상태고 이벤트로 처리하든 의존성 주입으로 처리하든 결국 참조를 찾아야되는건 마찬가지기때문에 클래스끼리 강한 의존성이 생긴거라서 매니저들을 많이 생성하는 것보다는 인터페이스를 활용해서 구조를 짜는 게 좀 더 의존성을 줄일 수 있습니다