在计算抽象索引时,定义为export class CustomerQuestionnaireComponent implements OnInit {
showCurrentLang: boolean;
private language: string;
@ViewChildren(MatChip) children: QueryList<MatChip>;
form: FormGroup;
@Input() industries: IIndustry[];
@Output() searchApps: EventEmitter<string> = new EventEmitter<string>();
constructor(private fb: FormBuilder, private langService: LangService ,
private translate: TranslateService) {
this.langService.currentLang.subscribe((lang) => {
this.language = lang;
if (this.language === 'en') {
this.showCurrentLang = true ;
} else {
this.showCurrentLang = false ;
}
});
console.log(this.language) ; /// here works
}
private filter (value: string | IIndustry): IIndustry[] {
if (this.language === 'en') { //here undefined
if (value && (<IIndustry>value).name) {
return this.industries;
}
const filterValue = (<string>value).toLowerCase();
return this.industries.filter(option => option.name.toLowerCase().includes(filterValue));
}
if (value && (<IIndustry>value).nameCZ) {
return this.industries;
}
const filterValue = (<string>value).toLowerCase();
return this.industries.filter(option => option.nameCZ.toLowerCase().includes(filterValue));
}
displayIndustries (industry?: IIndustry) { //here undefined
return (this.language === 'en' && industry) ? industry.name : industry.nameCZ;
}
,其中(A = Na / Nb
是接口和抽象类的数量,其中Na
是具体类的数量),应该如何考虑POCO类别?
此类没有实现任何逻辑,但它们只是数据的容器。
风险在于,具有大量POCO的库在抽象类上的等级会非常低,但不会实现任何逻辑。
答案 0 :(得分:1)
即使一个对象不包含任何逻辑,它也可能是非常具体的。实际上,如果您考虑为特定用例(例如,从网站的联系页面发送的ContactFormRequest发送)或包含数据源数据的DTO(例如,代表数据库表行的CustomerAddress)传输数据的数据传输对象,这些对象在业务规则和预期用途方面非常具体。需求变更很容易影响此类对象。
在上述公式中,这些对象应该算作Nb。