Публикации по теме 'composition'
Введение в функциональное программирование
Функциональное программирование становится все более актуальным в современной сети. В Paypal мы начали принимать его и уже видим преимущества во многих отношениях. Теперь, когда мы начали погружаться в более «продвинутую» тему, например, линзы для обработки наших глубоко вложенных структур данных, важно, чтобы мы понимали основы.
Что такое функциональное программирование
В зависимости от того, кого вы спрашиваете, вы можете получить несколько разные ответы. Функциональное..
Еще композиция с чертами и состоянием в пони
В недавней записи в блоге я показал несколько примеров того, как (и почему) можно обойти так называемое ограничение отсутствия наследования в Pony. Чтобы проиллюстрировать это, я показал, как мы можем создавать акторы, которые демонстрируют одно и то же поведение, создав трейт для описания этого поведения, например этот:
trait Container
be enter_inv(ob: Any tag, from: Any tag)
be leave_inv(ob: Any tag, to: Any tag)
Это позволило нам создать акторов, которые реализуют черту, чтобы с..
Использование прокси-серверов JavaScript для упрощения делегирования
Преимущества использования композиции/делегирования по сравнению с наследованием в JavaScript и других языках хорошо задокументированы:
Замените наследование делегированием
Композиция над наследством
Одна из главных причин, по которой многие разработчики избегают написания кода на основе делегирования, заключается в том, что это замедляет разработку из-за необходимости писать кучу шаблонов для пересылки вызовов функций делегату. Прокси могут значительно сократить объем необходимого..
Несколько советов при использовании каррирования в Javascript
Иногда вам может быть трудно понять каррирование, и вы задаетесь вопросом о его применении. В этом посте я перечислю несколько советов, которые могут быть вам полезны.
В этом посте я предполагаю, что вы уже знакомы с каррированием в Javascript. Если вы этого не сделаете, я бы порекомендовал вам просмотреть мой предыдущий пост о каррировании перед этим постом.
Карри в правильном порядке
Если вы планируете использовать каррированные функции для композиции функций, не забудьте..
Каррирование в Javascript и его практическое использование
Каррирование иногда бывает трудно понять или запутать при фактическом использовании. В этой статье я объясню, что это такое, и расскажу о некоторых вариантах использования.
Что такое карри?
Каррирование - это процесс преобразования функции, которая принимает несколько параметров, в последовательность функций, каждая из которых принимает по одному параметру за раз. Это особый тип Частично-функционального приложения . В чистом функциональном языке программирования, таком как ML или..
Я не думаю, что это точно.
M(M(a)) => M(a) является членом M(x) => x
Я не думаю, что это точно.
Монада знает, как свернуть два функториальных вычисления, то есть что означает композиция для двух вычислений в одном и том же контексте.
Давайте посмотрим на экземпляр монады для функций и представим, что функции были монадами в Javascript. Я использую стрелочную функцию с собственным телом, чтобы было понятнее:
const chain = f => g => {
// returns a monad instance for functions
return x =>..
Композиция против наследования
Решаем, когда что использовать
Композиция и наследование — это два термина, используемые в объектно-ориентированном программировании. Оба метода проектирования помогают нам организовывать и структурировать код, чтобы оптимизировать способ его написания.
Это означает, что мы можем создавать более простой и понятный код, открытый для расширения и закрытый для модификации, хорошо спроектированный и пригодный для повторного использования.
Использование композиции или наследования может..