이것은 SO에 대해 잠시 물었던 질문이지만 여기서 더 잘 논의 될 수 있습니다 ...
내가 일하는 곳에서, 우리는이 주제에 대해 여러 번왔다 갔다하고 위생 검사를 찾고 있습니다. 질문은 다음과 같습니다. Business Objects가 DTO 와 같은 데이터 컨테이너 이거나 해당 오브젝트에서 일부 기능을 수행 할 수있는 논리도 포함해야합니다.
예-고객 객체를 가져 오십시오. 고객 객체에 함수 (Save, Calc 등)도 포함되어야하는 공통 속성 (Name, Id 등)이 포함되어 있습니까?
한 가지 추론은 개체를 기능 (단일 책임 주체)과 분리하고 해당 기능을 Business Logic 계층 또는 개체에 넣는다 고 말합니다.
다른 추론 라인은 아니요, 고객 객체가 있으면 Customer.Save를 호출하고 완료하기를 원한다고 말합니다. 객체를 소비하는 경우 고객을 구하기 위해 다른 클래스에 대해 알아야하는 이유는 무엇입니까?
우리의 마지막 두 프로젝트는 객체와 기능을 분리했지만 새로운 프로젝트에 대한 논쟁이 다시 제기되었습니다.
어느 것이 더 의미가 있고 왜?