상속 안티 패턴

    상속 안티 패턴

    원하는 데이터 객체를 만들기 위해 많은 비용을 들이지 말자. 다음 예를 보자 class TransactionalPolicy(collections.UserDict): """잘못된 상속의 예""" def change_in_policy(self, customer_id, **new_policy_data): self[customer_id].update(**new_policy_data) 이 클래스는 고객의 정책에 접근해 정책을 바꾼다는 목적에는 부합할 수 있으나, 상속의 안티패턴을 보여주고 있다. 계층 구조가 잘못됐다. 기본 클래스에서 새 클래스를 만드는 것은 개념적으로 확장되고 세부적인 것이다라는 것을 뜻한다. 하지만 해당 데이터 객체는 Dict를 상속하면서 Dict의 개념을 확장했다기 보단 필요한 몇몇 부분(고..