Məzmuna keçin
  • Proxy dizayn nümunəsi (Pattern)

    Dizayn nümunələri design proxy pattern
    1
    0 Səslər
    1 Yazı
    52 Baxış
    Heç kim cavab yazmayıb
  • Bridge Pattern – Abstraksiya və İcranın Ayrılması

    Dizayn nümunələri design pattern bridge abstraction
    2
    1
    0 Səslər
    2 Yazı
    54 Baxış
    codexC
    🧪 Tapşırıq Aşağıdakı kod nümunəsində Shape adlı əsas class-dan Square və Triangle class-ları yaradılır. Hər forma həm Vector (xəttlərlə) həm də Raster (piksel ilə) şəklində çəkilə bilər. Bu isə hər formanın iki fərqli versiyasının yaradılmasına səbəb olur: class Shape { constructor(name) { this.name = name; } } class Triangle extends Shape { constructor() { super('triangle'); } } class Square extends Shape { constructor() { super('square'); } } class VectorSquare extends Square { toString() { return 'Drawing square as lines'; } } class RasterSquare extends Square { toString() { return 'Drawing square as pixels'; } } // imagine VectorTriangle and RasterTriangle are here too Bu yanaşma çox sayda class-ın yaradılmasına səbəb olur və sistemin genişləndirilməsini çətinləşdirir. Hər yeni forma və render üsulu üçün yeni bir class əlavə etmək lazım gəlir. Bu, məhz Dekart hasili problemini yaradır: Formalar × Render üsulları = Çox sayda sinif Yuxarıdakı kodu elə refactor edin ki, Bridge Pattern-dən istifadə edərək VectorTriangle və RasterTriangle yaradıb kodu new Triangle(new RasterRenderer()); formada çağırdıqda cavabında Drawing Triangle as pixels alınsın. 🧩 Həlli Çalışın ilk öncə özünüz həll edin sonra həllinə baxın Spoiler Bu problemi Bridge Pattern ilə həll edə bilərik. Bu dizayn pattern-in məqsədi abstraksiyanı onun implementasiyasından ayırmaqdır. Bununla da hər iki tərəf müstəqil şəkildə inkişaf etdirilə bilər. // Renderer interfeysini təmsil edən baza class class Renderer { get whatToRenderAs() { throw new Error('whatToRenderAs not implemented'); } } // Konkret Renderer-lər class VectorRenderer extends Renderer { get whatToRenderAs() { return 'lines'; } } class RasterRenderer extends Renderer { get whatToRenderAs() { return 'pixels'; } } // Baz forma classı— artıq rendereri qəbul edir class Shape { constructor(name, renderer) { this.name = name; this.renderer = renderer; } toString() { return `Drawing ${this.name} as ${this.renderer.whatToRenderAs}`; } } // Konkret formalar — yalnız ad və renderer qəbul edir class Triangle extends Shape { constructor(renderer) { super('Triangle', renderer); } } class Square extends Shape { constructor(renderer) { super('Square', renderer); } } ️ İstifadə nümunəsi const triangle = new Triangle(new RasterRenderer()); console.log(triangle.toString()); // Output: Drawing Triangle as pixels const square = new Square(new VectorRenderer()); console.log(square.toString()); // Output: Drawing Square as lines
  • Singleton dizayn nümunəsi (Pattern)

    Dizayn nümunələri design pattern singleton
    1
    0 Səslər
    1 Yazı
    83 Baxış
    Heç kim cavab yazmayıb
  • Prototype nümunəsi (Prototype Pattern)

    Dizayn nümunələri prototype design pattern creational
    1
    0 Səslər
    1 Yazı
    42 Baxış
    Heç kim cavab yazmayıb
  • Builder dizayn nümunəsi (Builder Pattern)

    Dizayn nümunələri builder design pattern creational
    1
    0 Səslər
    1 Yazı
    52 Baxış
    Heç kim cavab yazmayıb
  • Divide and conquer nümunəsi

    Sabitlənib Problem həlli yanaşması divide conquer solving problem pattern
    1
    0 Səslər
    1 Yazı
    28 Baxış
    Heç kim cavab yazmayıb
  • Sliding window nümunəsi

    Sabitlənib Problem həlli yanaşması sliding window pattern problem solving
    2
    1
    0 Səslər
    2 Yazı
    45 Baxış
    codexC
    Aşağıda LeetCode platformasında bu nümunə ilə həll edilə bilinən problemlərin siyahısı aşağıdakı kimidir. Əgər bildiyiniz problemlər varsa aşağıda əlavə edə bilərsiniz: 643. Maximum Average Subarray I 3. Longest Substring Without Repeating Characters 438. Find All Anagrams in a String 413. Arithmetic Slices 219. Contains Duplicate II 209. Minimum Size Subarray Sum 187. Repeated DNA Sequences 30. Substring with Concatenation of All Words Bütün problemlərin siyahısını isə buradan baxa bilərsiz.
  • Tezlik sayğacı nümunəsi (Frequency Counter Pattern)

    Sabitlənib Problem həlli yanaşması problem solving pattern frequency counter
    1
    0 Səslər
    1 Yazı
    39 Baxış
    Heç kim cavab yazmayıb
  • Abstrakt fabrik (Abstract Factory Pattern)

    Dizayn nümunələri abstract fabric pattern javascript creational
    1
    0 Səslər
    1 Yazı
    58 Baxış
    Heç kim cavab yazmayıb