다른 모든 개발자가 기본 CRUD 앱을 사용하는 데 익숙하거나 예쁘고 기능적인 인터페이스를 만드는 데만 집중하는 LOB (기간 업무) 앱을 운영하고 있으며 다음과 같은 결과를 얻고 있습니다.
"우리가 사용하는 방식으로 직원은 직원과 함께 할 수있는 모든 것을 가질 수 있습니다." 그리고 사실이었다. 한 "클래스"에는 수천 줄의 코드가 있었고 직원과 함께 할 수있는 모든 것이있었습니다. 또는 더 나쁜 것은 직원 데이터 테이블이 있었고 각 개발자는 이벤트 핸들러에서 원하는 작업을 수행하는 방법을 알아 냈습니다.
그 접근법에 대한 모든 나쁜 점은 사실이지만 적어도 직원을 사용하는 개발자는 다른 문서를 보지 않고도 직원을 건강 계획에 등록하고 급여 인상, 해고, 고용, 양도 등을 할 수있는 방법을 알아낼 수 있습니다. 관리자 및 기타 모든 주요 아이디어에 대해 또는 직원이 다른 필요한 데이터 테이블을 사용한 경우 원하는 것을 수행 할 수 있습니다.
예, 중복 된 코드가 많았습니다. 예, 매우 취하기 쉬운 코드였습니다. 예, 테스트는 필요 이상으로 어려웠습니다. 그렇습니다. 기능 변경으로 인한 두려움이 있었으며 복사 붙여 넣기 방식은 자연 스럽습니다.
그러나 그들은 적어도 하나의 클래스를 만들어서 사용 가능한 것을 발견하거나 인터페이스, 추상 클래스, 구체적인 클래스 등의 차이점을 이해하지 않고도 필요한 것을 수행 할 수 있습니다. intellisense에 의해 리턴 된 메소드 또는 데이터가 상주 한 테이블을 알고 있습니다.
나는 googled / binged, 심지어 yahoo! d이지만이 문제에 대한 인정을 찾지 못했습니다.
따라서 문제가 없을 수 있으며 무언가를 놓치고 있습니다. 실제 행동 / 디자인을 수행하지 않는 개발자 (들)가 외부 문서를 참조하거나 다양한 구성 요소에서 클래스 이름을 스캔하지 않고도 무언가를 수행하는 방법을 쉽게 발견 할 수있는 솔루션을 찾으려고 노력했습니다. 작동하는 것처럼 보이는 것을 찾는 프로젝트.
내가 생각해 낼 수 있었던 유일한 것은 더 나은 이름이 없기 때문에 실제 클래스를 반환하는 더 이상 아무것도하지 않는 "목차 클래스"가 없다는 것입니다 (실제로 대부분은 인터페이스이지만 다른 개발자가 원하는 실제 작업을 수행하는 데 사용할 수있는 차이점이나주의 사항을 알고 있어야합니다. 여전히 큰 수업으로 끝나지 만 거의 행동이 없습니다.
실제 SOLID 구현이 수행되는 중간 계층에 대한 친밀한 지식이 필요하지 않은 더 좋은 방법이 있습니까?
기본적으로 CRUD 유형 개발자가 매우 복잡한 시스템에서 CRUD 개발자가 될 수있는 방법이 있습니다.