Sobes.tech
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да, табигый колдоо жок; интерфейстер же композиция колдонулат.