Middle+
JavaScript və TypeScript-də yaygın olan və Java-da rast gəlinməyən dizayn nümunələri hansılardır?
sobes.tech Süni İntellekt
AI-dan cavab
- Singleton (JS/TS-də modullar və bağlamalar vasitəsilə daha asan həyata keçirilir).
- Modul (dilın implicit nümunəsi).
- Prototype (prototip irsi vasitəsilə).
- Mixin (Object.assign, siniflər və ya fabrik funksiyaları vasitəsilə).
- Revealing Module Pattern (bağlamalar istifadə etməklə).
- Factory Function (sinif konstruktörlərinə alternativ).
- Dependency Injection (əksər hallarda fabriklər və ya konteynerlər vasitəsilə, Java-dakı kimi şərhlərə çox bağlı deyil).
Fərqlər nümunələri:
- Singleton:
// singleton.js
const instance = {
data: 'some data'
};
export default instance; // Yeganə nümunənin sadə ixracı
Java-da, getInstance() adlı statik metod və xüsusi konstruktor lazımdır.
- Module:
// module.js
const privateVar = 'private';
export function publicMethod() {
console.log(privateVar);
}
Java-da, siniflərin və giriş modifikatorlarının açıq elan olunması tələb olunur.
- Prototype:
const animal = {
speak() {
console.log('...');
}
};
const dog = Object.create(animal);
dog.speak = function() {
console.log('woof');
};
dog.speak(); // woof
Java-da, irsi sinflər üzərində qurulur.
- Mixin:
const searchable = {
search() {
console.log('Searching...');
}
};
class Article {
constructor(title) {
this.title = title;
}
}
Object.assign(Article.prototype, searchable);
const myArticle = new Article('Hello');
myArticle.search(); // Searching...
Java-da, native dəstək yoxdur; interfeys və ya kompozisiya istifadə olunur.