리팩토링: 재사용 가능한 함수를 위한 종속성 주입
2361 단어 refactoringtypescriptjavascript
// In this reusable View component,
// the context of its table
// is injectable with
// context from elsewhere.
// This means as a child
// View, others can inject
// the context.
setTableData(context: any) {
this.showTable = true;
this.cdf.detectChanges();
// Use the reusable function here
funcSetTableData(
context, // outside data
this.paginator, // view
this.pageSize, // number
this filter, // string
this.sort, // view
);
// Back to the view component here
}
재사용 가능한 함수는 4개의 "this"를 사용합니다. 가치. 그 중 두 개는 이 보기에 포함된 보기이고 다른 두 개는 각각 문자열 및 숫자 값입니다. 재사용 가능한 함수에 지역 값을 "주입"하고 있습니다.
이 View Component의 관점에서 이것은 긴밀한 결합입니다. 그러나 함수 자체는 매개변수가 어디에서 왔는지 상관하지 않습니다.
함수가 작동하려면 적절한 매개변수만 있으면 됩니다. 이것은 기능 자체가 밀접하게 결합되어 있지 않다는 것을 의미합니다.
이 함수를 재사용하는 또 다른 머티리얼 테이블 뷰를 생성하면 자체적으로 필요한 적절한 종속성을 주입합니다.
재사용성에 대해 생각하면서 가능한 리팩터링을 발견했을 때 funcSetTableData 함수를 만들었습니다. '이것'의 수. 매개변수도 단서였습니다.
우리가 그것을 함수 라이브러리로 옮기지 않았다면 그것은 이 보기에만 알려졌을 것입니다. 이것은 재사용을 생각하지 않는 "밀착 결합"의 잘못된 효과입니다.
Reference
이 문제에 관하여(리팩토링: 재사용 가능한 함수를 위한 종속성 주입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jwp/refactoring-dependency-injection-for-reusable-functions-4oh9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)