[TIL] SRP (수정 예정)

trequartista·2020년 6월 7일
0

SRP (단일책임의 원칙: Single Responsibility Principle)

  • 클래스는 한가지 기능만 가지며 한가지 책임을 수행하는데 집중되어야 하는게 SRP가 의미하는 원칙
  • 클래스가 변경되어야 할 여러 가지 이유가있는 경우는 클래스에 너무 많은 책임을 부여하고 있음을 의미
  • SRP 원칙을 따르면 클래스를 여러가지로 분할하여 유연하게 설계할 수 있는 장점을 가지고있으며 다른 행동, 책임이 격리 되어있어 연쇄적인 사이드이펙트가 발생할 여지가 줄어듦

Low Coupling, High Cohesion

  • 여러가지의 책임으로 나눌때는 각 책임간에 결합도를 최소로 하여야 한다. (Low Coupling)

Shotgun surgery(산탄총 수술)

  • 하나에 여러가지 책임이 있는것의 반대인 상황으로 하나의 책임이 여러군데 분산되어있는 상황으로 하나의 수정 사항이 여러군데에 영향을 미치는 경우 다시 전부 하나로 모아주어 설계를 깔끔하게 유지 시켜주도록 한다. (High Cohesion)
profile
Slow and steady win the race

0개의 댓글