Middle+
რა დიზაინის ნიმუშები გავრცელებულია JavaScript და TypeScript-ში, რომლებიც Java-ში არ გვხვდება?
sobes.tech AI
პასუხი AI-სგან
- Singleton (JS/TS-да модулдар жана жабышмалар аркылуу оңой ишке ашырылат).
- Module (лингвдин имплициттүү үлгүсү).
- Prototype (прототиптик мурас аркылуу).
- Mixin (Object.assign, класстар же фабрика функциялары аркылуу).
- Revealing Module Pattern (жабышмалар колдонуу менен).
- Factory Function (кластар конструкторлоруна альтернатива).
- Dependency Injection (көбүнчө фабрикалар же контейнерлер аркылуу, Javaдагыдай белгилерге такыр көзкаранды эмес).
Айырмачылыктардын мисалдары:
- Singleton:
// singleton.js
const instance = {
data: 'кейбир маалымат'
};
export default instance; // Бир гана экземплярды жөнөкөй экспорттоо
Javaда, getInstance() деп аталган статикалык метод жана жеке конструктор керек.
- Module:
// module.js
const privateVar = 'жеке';
export function publicMethod() {
console.log(privateVar);
}
Javaда, класстарды жана жеткиликтүүлүк модификаторлорун так аныктоо керек.
- Prototype:
const animal = {
speak() {
console.log('...');
}
};
const dog = Object.create(animal);
dog.speak = function() {
console.log('woof');
};
dog.speak(); // woof
Javaда, мурас класстарга негизделген.
- Mixin:
const searchable = {
search() {
console.log('Издөө...');
}
};
class Article {
constructor(title) {
this.title = title;
}
}
Object.assign(Article.prototype, searchable);
const myArticle = new Article('Салам');
myArticle.search(); // Издөө...
Javaда, табигый колдоо жок; интерфейстер же композиция колдонулат.