도니의 iOS 프로그래밍 세상

[오브젝트] 14장 - 일관성 있는 협력 본문

OOP

[오브젝트] 14장 - 일관성 있는 협력

Donee 2024. 7. 21. 00:09

객체 협력 구조가 기존과 다를 때, 코드의 이해도가 낮아지고 코드 수정시 더 많은 버그를 유발하게 된다.

따라서 객체간 일관성 있는 협력 방식을 사용하여, 유사 기능엔 유사한 협력 패턴을 사용해야 한다.

설계 일관성

  • 변하는 개념, 변하지 않는 개념을 분리
  • 변하는 개념을 캡슐화 하는 게 중요
    • 캡슐화는 변화는 어떤것을 감추는 것(데이터 은닉만을 포함하지 않음)

결론

  • 일관성 있는 협력을 통해, 다른 사람들과 협업시 코드 이해도를 높이고 버그 가능성을 줄일 수 있음
  • 캡슐화
  • 약간의 부조화를 수용하더라도, 서비스 내에 일관성 있는 패턴을 지키는게 더 중요하다
    • ex. 인터페이스에 객체중 한곳에서 특정 로직을 수행해야 함
    • 해당 객체의 역할상 특정 로직을 수행한다는게 초기 의도와 다름
    • 하지만 그렇더라도, 각 서비스들의 책임이 올바르게 동작한다면 부조화를 수용해도 큰 문제가 되지 않음
Comments