나는 선배들 사이에서 주니어 개발자이며 그들의 생각과 추론을 이해하는 데 많은 어려움을 겪고 있습니다.
나는 읽고있다 도메인 기반 디자인 (DDD)를 우리는 너무 많은 클래스를 생성해야하는 이유 이해할 수 없습니다. 소프트웨어 설계 방식을 따르면 20-30 개의 클래스로 끝나고 최대 2 개의 파일과 3-4 개의 함수로 대체 될 수 있습니다. 예, 이것은 지저분 할 수 있지만 훨씬 유지 관리가 쉽고 읽기 쉽습니다.
어떤 종류의 일을보고 싶을 때마다 EntityTransformationServiceImpl
많은 클래스, 인터페이스, 함수 호출, 생성자, 생성 등을 따라야합니다.
간단한 수학 :
- 60 줄의 더미 코드와 10 개의 클래스 X 10 (우리는 완전히 다른 논리를 가지고 있다고합시다) = 600 줄의 지저분한 코드와 100 개의 클래스 + 랩과 관리를 위해 더 많은 것; 의존성 주입을 추가하는 것을 잊지 마십시오.
- 600 줄의 지저분한 코드 읽기 = 하루
- 100 수업 = 일주일, 여전히 어떤 수업을하는지 잊어 버리십시오.
누구나 유지 관리가 쉽다고 말하고 있지만 무엇을 위해서입니까? 새로운 기능을 추가 할 때마다 팩토리, 엔터티, 서비스 및 값으로 5 개의 클래스를 추가합니다. 이런 종류의 코드는 지저분한 코드보다 훨씬 느리게 움직이는 것처럼 느껴집니다.
한 달에 50K LOC 지저분한 코드를 작성하면 DDD에는 많은 리뷰와 변경이 필요합니다 (두 경우 모두 테스트는 신경 쓰지 않습니다). 하나의 간단한 추가는 더 이상 일주일이 걸릴 수 있습니다.
1 년 안에 많은 지저분한 코드를 작성하고 여러 번 다시 작성할 수 있지만 DDD 스타일을 사용하면 지저분한 코드와 경쟁 할 수있는 기능이 충분하지 않습니다.
설명 해주십시오. 이 DDD 스타일과 많은 패턴이 필요한 이유는 무엇입니까?
UPD 1 : 많은 훌륭한 답변을 받았습니다. 어딘가에 의견을 추가하거나 읽기 목록 링크로 답변을 편집하십시오 (시작, DDD, 디자인 패턴, UML, 코드 완성, 리팩토링, Pragmatic 등). .. 물론 많은 좋은 책들), 물론 순서대로, 그래서 나는 또한 당신들 중 일부처럼 이해를 시작하고 상급자가 될 수 있습니다.