모두이 코드에서 ASP.NET MVC 응용 프로그램의 레거시 코드에 문제가 있습니다. 비즈니스 로직 계층에 클래스 서비스가 있습니다. 이 클래스는 20 개의 인자를 가진 메소드를 가지고 있는데이 메소드는이 20 개의 인자를 사용하여 객체의 인스턴스를 생성합니다. 생성 된 개체가 변경되고 메서드에서 인수를 변경해야하는 경우 문제가되기 때문에이 코드를 리팩토링하는 방법. 이 서비스 클래스는 컨트롤러 클래스 및 단위 테스트에서 사용됩니다. 리팩토링 자에게이 코드를 도와주세요 미리 감사드립니다.인자가 많은 클래스의 메소드를 리팩토링하는 방법은?
편집 추가 정보 :
내가
public Qualification CreateQualification(string achievableCode, string achievableTitle,
string accreditationRef, bool brandingPrefix, long brand, float guidedLearningHours,
int creditValue, long level, long type, long gradingType, long area, int subArea,
DateTime accreditationStartDate, DateTime accreditationEndDate,
DateTime lastCertDate, string nameOnCert,
long organisationId)
나는 그것이 내가 몇 가지 클래스를 추출 할 수 있습니다 예를 들어 Kely 및 Chevex aproach을 적용 할 필요가 생각하는 방법의 서명을 표시 할 수 있습니다
하나가 매개 변수에서옵니다 :
long area, int subArea
다른
bool brandingPrefix, long brand,
그리고 내가 이해 올바른 매개 변수 개체를 소개 사용할 수 있습니다 추출 서브 클래스 후
?
하나를 사용하지만, 때 ASP.Net MVC는 기존 거죠 :) –
은 아마도 그는 기존에게 레거시 코드와 효과적으로 협력 그의 책 [에서와 마이클 깃털 같은 방식을 의미한다 (참조 현대 해석 섹션)] (http://en.wikipedia.org/wiki/Legacy_code). – Matt
레거시 코드라고 말하면, 오랫동안 ASP.NET MVC 애플리케이션에서이 코드가 다른 개발자에 의해 작성된 코드임을 의미합니다. – Serghei