Form Object Value Object/Data Transfer Object (DTO) Query Object/Query Builder Presenter Decorator Service Strategy Policy Middleware Publish Subscribe Observer Factory Factory Method Delegate Proxy Adapter Entity Repository Serializer
-
-
Save niten2/14aea74976bbf83878e4a45db3b932d2 to your computer and use it in GitHub Desktop.
Кортеж (tuple)— упорядоченный набор фиксированной длины. | |
Список аргументов функции или список инициализации массива является неявным кортежем | |
const tuple = (...args) => Object.freeze(args); | |
const tup = tuple ( 1, 2, 3, 4 ); |
что самый простой способ создать Singleton объект в JS — это создать глобальную переменную с присвоением объекта,
Одиночка (англ. Singleton) — порождающий шаблон проектирования, гарантирующий что в однопоточном приложении будет единственный экземпляр класса с глобальной точкой доступа.
class Singleton {
protected static instance = new Singleton;
public foo: number = 123;
private constructor() {}
public static getInstance() :Singleton {
return Singleton.instance;
}
}
преобразует интерфейс одного класса в другой от ожидания клиента
отделить абстракцию и реализаю что бы можно было менять независимо
динамическое добавление новых обязанностей
структурирует обьекты
суггорат другого обьекта контролирует доступ к нему
цепочка обязанностей
инкаспулирует запрос как обьект, может ставить запросы в очередь, отменять и тд
последовательный доступ к всем элементам не раскрывая внутреннего представления
независимо взаимодействует с множеством обьектов
выносит внутреенне состояние обьекта, что бы можно было его восстановить
от изменения состояния одного обьекта все зависящие от него оповещаются и автоматически обновляются
варьирует свое поведение в зависимости от состояния
опредеяет семейство обьектов, инкапсулирует и делает их взаимозаменяемыми
для определения новой операции не изменяя классы обьектов
определяет алгоритм и позволяет подклассам переопределить шаги алгоритма
К примеру, в императивном программировании присваивание a = b + c будет означать, что переменной a будет присвоен результат выполнения операции b + c, используя текущие (на момент вычисления) значения переменных. Позже значения переменных b и c могут быть изменены без какого-либо влияния на значение переменной a.
В реактивном же программировании значение a будет автоматически пересчитано, основываясь на новых значениях. В процедурном этого не происходит.
потому что получать файлы можно максиум 5 штук с одного домена
const fetch = () => {
return new Promise((fulfield, reject) => {
setTimeout(()=> {
return reject(trow new Error("error"))
}, 2000)
query.then((res) => {
setTimeout.clear()
fulfield(res)
})
})
}
???
const fetch = () => { return new Promise((fulfiels, reject) => { setTimeout(()=> { return reject(trow new Error("eror")) }, 2000)
query.then((res) => {
setTimeout.clear()
fulfield(res)
})
}) }
Способ реализации метода, принимающего блок в качестве аргумента (* блок опционально, ** более одного блока)
Основные методы Enumerable, реализация которых в классе достаточна для удовлетворения интерфейсу коллекции (map, reduce, sort, ...)\
7cf1eba2eaea8cfb8a806c51468954728c9de15d:theory.md