Мне трудно понять, как наилучшим образом объединить классы (то есть создать совокупный класс сортов) в приложении nodejs. в настоящее время используемый мной шаблон дизайна ad h c и isomorphi c к приведенному ниже фрагменту:
// some arbitrary base class
class Person {
constructor(name, rank) {
this.name = name;
this.rank = rank;
}
sit() {
return `${this.name} is sitting!`;
}
stand() {
return `${this.name} is standing!`;
}
}
// some more elaborate class which extends base class
class Developer extends Person {
constructor(name, rank) {
super(name, rank);
}
writeCode() {
return `${this.name}:${this.rank} is writing code!`;
}
eatSnacks() {
return `${this.name}:${this.rank} is eating snacks!`;
}
}
var candidates = [
{ name: 'adam', rank: 9 },
{ name: 'sarah', rank: 2 },
{ name: 'reed', rank: 4 },
{ name: 'sasha', rank: 3 }
];
// composition of combined/aggregate class
var team = new Person('leader', 1);
candidates.forEach((p) => {
team[p.name] = new Developer(p.name, p.rank);
});
Есть ли что-то изначально неправильное в этом подходе? Есть ли хорошо принятый предпочтительный подход? какие-то вопиющие предостережения с моим подходом, которые я не вижу?
любой вклад или помощь будут очень цениться! заранее спасибо!