Я пытаюсь написать пример шаблона разработки стратегии на функциональном языке программирования (не чисто функциональный, без объектов, без перегрузки функций), используя пример, упомянутый в Java DZone .
Хотя я понимаю, что многие функциональные возможности выходят за рамки функционального языка программирования.
Я что-то упускаю здесь с точки зрения концепции шаблонов проектирования?
:
является оператором присваивания.
File FileCompressor
strategy:`noOp;
setCompressionAlgo:{[algo]
strategy:algo
}
compressFiles:{[filesList]
strategy[filesList]
}
File ZipCompressor
zipCompress:{[fileList]
//compress each file using the zip compression
}
Файл RarCompressor
rarCompress:{[fileList]
//compress each file using the rar compression
}
Файловый клиент
start:{[path]
filesList:getFiles[path];
setCompressionAlgo[zipCompress];
compressFiles[fileList]
}