기껏해야 싱글톤만 써왔고 디자인패턴 관련 내용은 그냥 쪼개라, 인터페이스로 빼라 정도로만 알고 있었음.

근데 지금 소켓 서버 짜면서 느낀게... 코어단 코드랑 서비스 코드랑 분리를 해야함을 느낌... 코어에서는 인터페이스로 작업하고, 서비스단에선 그 인터페이스 implement 하는 식으로.

그런데 이게 생각해보면 존나 당연한 소리잖아. 지금까지 디자인패턴 검색해서 볼때마다 "음 음 그렇지" 하고 납득하면서 글을 쭉 읽었는데, 머릿속으로만 납득했지, 오늘 직접 그럴 필요성을 느껴보니 이 내용이 뇌리에 박히는 느낌이네.

이번 기회에 solid라도 뭔소린지 내 방식대로 이해해서 정리해놨음. 항상 모든게 그렇듯 정도라는게 있으니까 적당히 잘 쪼개고 분리하는게 핵심이겠지만... 좀 생각하면서 코드 짜야겠음. 이 클래스는 구현체가 여러 개일지, 지금 내가 어느 단에서 로직을 작성하는지 등..