반응형 데코레이터2 [엘레강트 오브젝트] 3.2 정적 메소드를 사용하지 마세요 이 내용은 엘레강트 오브젝트 를 읽으면서 정리한 내용을 포함하고 있습니다. 객체 대 컴퓨터 사고 선언형 스타일 대 명령형 스타일 유틸리티 클래스 싱글톤 패턴 함수형 프로그래밍 조합 가능한 데코레이터 정리 정적 메서드를 사용하는 대신 객체를 사용해야 한다. 정적 메소드만 있는 객체는 소프트웨어를 유지보수하기 어렵게 만든다. 객체 대 컴퓨터 사고 컴퓨터처럼 생각하기 순차적인 사고 방식 컴퓨터는 어떤 한 위치에서 명령을 실행하기 시작하고 또 다른 위치에서 실행을 중단한다. 명렁의 실행 흐름을 제어할 책임이 우리에게 있다. ex) 정적 메서드 객체지향적으로 생각하기 CPU에게 할 일을 지시하는 것이 아니라 정의 우리는 그저 누가 누구인지만 정의하고 객체들이 필요할 때 스스로 상호작용하도록 제어를 위임한다. ex.. 2023. 3. 12. [엘레강트 오브젝트] 2.9 인터페이스를 짧게 유지하고 스마트(smart)를 사용하세요 이 내용은 엘레강트 오브젝트 를 읽으면서 정리한 내용을 포함하고 있습니다. 스마트 클래스 데코레이터 활용 정리 스마트 클래스 클래스를 작게 유지하는 것이 중요하다면, 인터페이스를 작게 만드는 것은 훨씬 더 중요하다. interface Exchange { float rate(final String target); float rate(final String source, final String target); } 같은 기능을 동작하는 2개의 인터페이스 메소드는 구현 클래스에게 너무 많은 것을 요구하고 있다. 이런 종류의 계약은 단일 책임 원칙(Single Responsibility Principle)을 위반하는 클래스를 만들도록 유도한다. 두 rate 메서드는 매우 밀접하게 연관되어 있지만 두 개의 독립적인.. 2023. 3. 12. 이전 1 다음 반응형