본문 바로가기
책/오브젝트

14. 일관성 있는 협력

by 오오오오니 2025. 3. 17.

14. 일관성 있는 협력

비어 있음
2024년 5월 22일
휴대폰 과금 시스템을 구현할 때 처음 예제는 일관성이 없어서 이해하기 어렵다
유사한 기능은 유사한 방식으로 구현해야 한다. 협력을 일관성 있게 만들어야 한다.

설계에 일관성 부여하기

변하는 개념을 변하지 않는 개념으로부터 분리하라
변하는 개념을 캡슐화 하라
추상화를 찾아 추상화에 의존하도록 만드는 것
조건에 따라 분기되는 어떤 로직들이 있다면 이 로직들이 바로 개별적인 변경이라고 볼 수 있다.
클래스를 분리하면 유사한 행동을 하는 클래스들을 역할이라는 추상화로 묶을 수 있고 이는 설계를 일관성있게 유지시킬 수 있다.

캡슐화 다시 살펴보기

캡슐화는 데이터 은닉 이상이다.
캡슐화는 변하는 어떤 것이든 감추는 것이다.
캡슐화 종류
데이터 캡슐화
메서드 캡슐화
객체 캡슐화
서브타입 캡슐화
서브타입 캡슐화와 객체 캡슐화를 적용하는 방법
변하는 부분을 분리해서 타입 계층을 만든다
변하지 않는 부분의 일부로 타입 계층을 합성한다.
변하는 것과 변하지 않는것을 분리하고 변하는 것을 캡슐화한 코드는 오로지 변하지 않는 것과 추상화에 대한 의존성만으로도 전체적인 협력을 구현할 수 있다.
유사한 기능에 대해 유사한 협력 패턴을 적용하는 것은 객체지향 시스템에서 개념적 무결성을 유지할 수 있는 가장 효과적인 방법이다.

' > 오브젝트' 카테고리의 다른 글

15. 디자인 패턴과 프레임워크  (0) 2025.03.17
13. 서브클래싱과 서브타이핑  (0) 2025.03.17
12. 다형성  (0) 2025.03.17
11. 합성과 유연한 설계  (0) 2025.03.17
10. 상속과 코드 재사용  (0) 2025.03.17