모듈화를 해야 하는 이유
Last updated
Last updated
전체를 이해해야 하는 모놀리식 구조는 간단한 변경도 어렵다
모듈화가 잘 되어있다면 변경하기 쉽다
만약 서비스의 크기가 크지 않다면 해당 이유로 모듈화할 필요는 없다고 생각함
결국 서비스가 커지게 되면서 복잡도가 기하급수적으로 증가할 것으로 예상
이러한 복잡도를 낮추기 위해서 모듈화를 진행하여 각 기능을 나눔
정리하자면,
서비스가 작다면 모듈화에 대한 필요성이 크지 않다
그 이유는 복잡하지 않아서 유지보수 비용이 크지 않기 때문 (오히려 모듈로 나누며 드는 비용이 큰 경우도 존재)
서비스가 복잡해지면 모듈화를 진행한다
모듈화가 진행되면 각 서비스는 작아지므로 1,2 번에서 언급한 장점을 누릴 수 있다
모듈화를 하지 않는다면 병렬 빌드가 불가능해서 빌드 속도가 느리다
제일 처음에 언급했던 변경이 쉽다와 비슷하다
모놀리식 구조에서는 internal이 곧 open이며 public이다
이는 모든 곳에서 internal 접근 제어자에 접근이 가능한 것이다
이는 예상치 못한 곳에서 해당 기능을 사용하고 있을 수 있다는 것이다
결국 연결되는 것은 비용이다.
모듈이 커지게 되면 변경이 어려워진다. 이는 곧 빠른 개발이 불가능하다.
모듈이 커지게 되면 빌드 속도가 증가한다. 이는 곧 빠른 개발이 불가능하다.
모듈이 커지게 되면 디버깅이 어려워진다. 이는 곧 빠른 개발이 불가능하다.
즉 서비스의 크기가 작지 않다면, 모듈화를 해야 한다.
모듈화 = 서비스를 작게 쪼갠다 = 빠르게 변경이 가능해진다 = 개발 속도가 향상된다 = 비용 감소