조금씩 읽는 도메인 구동 설계 제3부 보다 깊은 통찰에 향하는 리팩토링 제10장 유연한 설계 서장

상당히 무거운 감기로 잠시 읽을 수 없었지만 재개입니다^^

유연한 디자인



제3부의 서장 에서, 변경 가능한, 유연한 설계가 제3부의 테마인 「깊은 모델」을 지지하고 있다고 읽었습니다.

좀 더 자세히 무슨 일인지 읽어 갑니다.

리팩토링이 멈출 때



어떤 나쁜 코드라도 리팩토링을 할 수 있다는 것은 환상이며, 실제로는 원래 설계가 뛰어난 것이 아니면 리팩토링하는 것은 어렵습니다.

처리 중에 암시적으로 포함되어 있는 것을 완전히 예측하는 자신이 없으면, 소스를 리팩토링하는 것을 피해, 중복된 코드를 써냅니다.
또한 설계가 한 장 바위가 되어도 재사용할 수 없고 중복된 코드를 내보냅니다. 확실히 경험 있네요. . .
이렇게 해서 리팩토링과 반복에 의한 개량이 멈추어 버리는군요.

원래, 변경이나 리팩토링이 하기 쉬운 설계. 그것이 유연한 디자인입니다.

반복과 더 깊은 통찰력으로 향하는 리팩토링



서장에서 읽은 것처럼 깊은 모델은 유연한 디자인을 지원합니다. 그래서 유연한 설계는 제3부의 테마인, 「보다 깊은 통찰에 향하는 리팩토링」의 간이 되네요.

제9장에서 읽어 온, 암시적 개념을 명시적으로 한 것은, 아직, 변경하기 쉬운 설계에는 되어 있지 않고, 「이테레이션」의 사이클을 통해서 자라 가, 그 결과로서 「실제로 사용할 수 있는 모델」이 되어 갑니다. 그것을 지지해 가는 것이 유연한 설계라고 하는 것이군요.



그렇게 말해도・・・



설계의 초기 버전은, 납기나 예산의 관계도 있어, 유연하게 되어 있지 않은 것이 많을 것.

그렇게 되면, 원래 리팩토링할 수 없는 상태로, 어플리케이션이 성장하지 않는 것 같은 생각이 듭니다.

초기 버전부터 모든 코드를 유연한 디자인으로 만드는 것은 불가능합니다.
그래서 설계의 초기 버전에서 가장 심각하고 난해한 부분, 복잡한 부분을 특히 선택하여 유연한 설계로 해 두는 것을 합니다.

그렇게 함으로써 초기 버전부터 반복을 시작할 수 있고 보다 깊은 통찰력으로 향하는 리팩토링으로 진행할 수 있을 것입니다.

내일부터는 구체적으로 어떻게 하면 유연한 설계로 할 수 있는지를 읽어 갑니다.

좋은 웹페이지 즐겨찾기