먼저 면책 조항 :이 질문 이이 웹 사이트에 적합한 지 잘 모르겠지만 초보자뿐만 아니라 다른 사람들에게도 여전히 관련 질문이 있습니다. 여기에 맞게 질문을 개선 할 수 있다면 int 의견을 지적하십시오. 그것이 맞지 않는다면, 나에게도 알려주십시오. 가능한 경우 이것에 대한 좋은 포럼을 찾지 못했기 때문에 이것이 논의 될 수있는 곳을 알려주십시오.
PHP를 공부하면서 2009 년에 프로그래밍하는 법을 배웠습니다. 2012 년 후, 나는 C #과 .NET으로 옮겼습니다. 어쨌든 코딩은 문제가 아니며 알고리즘을 쓰는 것은 내 문제가 아닙니다. 내 실제 문제는 알고있다 어떤 요구 사항을 달성하기 위해 코딩해야하고 어디에서 코딩하는 것이있다.
웹에서 사용할 수 거기 대부분의 과정이 해결 방법을 -하는 방법을 쓰기 코드에 특정 언어 등의 API의 일부 세트를 사용하는 방법을 여기에서의 나의 가리.
이 몇 년 동안 나는 객체 지향 분석 및 디자인, 디자인 패턴, 도메인 기반 디자인 등 많은 것들에 대해 많이 읽었습니다. 예를 들어 SOLID 원칙, 도메인 전문가의 참여 필요성, 유비쿼터스 언어 개발 등과 같은 DDD의 주요 아이디어 중 일부를 이해합니다. 나는 이론적 배경이 적어도 합리적 이라고 감히 말할 것이다 .
그러나 연습을 할 때 나는 재난 인 것 같습니다. 얼마 전에 나는 이미 다른 사람에 의해 개발되고있는 금융 시스템의 개발을 계속해야했습니다. C # 및 WinForms로 개발 된 "이전 시스템"입니다. 도메인 규칙이 복잡하고 비즈니스 규칙이 많은 프로젝트를 처음 선택한 것은 처음이었습니다.
나는 요구 사항을 대부분받을 때 "어떻게 지구상에서이 작업을 수행 할 수 있습니까?"라고 생각한다고 고백합니다. -수행해야 할 작업을 파악하기 위해 요구 사항에 대한 작업을 시작하는 방법조차 모릅니다. 필자의 주요 혼동은 내가 코딩해야 할 것, 클래스, 인터페이스 및 각 논리 부분이 어디인지, 각각의 클래스가 무엇인지에 대한 것입니다. 문제는 어디서부터 시작 해야할지 모르겠다는 것입니다.
대부분의 경우 꽤 많은 생각으로 아이디어를 얻었지만 아이디어가 올바른지 판단하는 방법을 결코 알지 못합니다.
필자가 권장 한 소프트웨어 아키텍처 및 객체 지향에 대해 많은 것을 읽었지만 실제로 수행해야 할 작업을 식별하는 데별로 도움이되지 않았다고 말했기 때문에 이것이 이론의 부족이라고 생각하지 않습니다. .
그래서 어떻게 배울 수 정말 할 객체 지향 설계를? 내가 배우고 싶은 것은 : 주어진 요구 사항은 수행해야 할 작업과 각 코드가 속한 위치를 찾는 프로세스에서 요구 사항을 시작하는 방법을 알고 있다는 것입니다. 내 생각이 올바른지 판단하는 법을 어떻게 배울 수 있습니까?
나는 이것을 대답으로 완전히 설명하는 것이 불가능하다고 생각합니다. 그러나 내가 찾고있는 것은 사이트 스타일에 따라 개요를 제시하고 아이디어를 확장하고 실제로 배우는 데 사용할 수있는 참고 자료 (도서, 온라인 코스 등)를 가리키는 대답입니다.