Объект фабрики по сравнению с функцией фабрики

Если hash является вашим байтовым массивом, я бы попробовал что-то вроде этого:

const hash = require('hash.js')
let hash = hash.sha256().update(unescape(encodeURIComponent('abc')))


const buf = Buffer.from(hash)
// readIntLE is for little endian, use readIntBE otherwise
const myInt = buf.readIntLE(0, Buffer.byteLength(hash))

Проверьте doc для readInt методов

6
задан Will Manley 25 February 2017 в 14:18
поделиться

4 ответа

Это зависит от того, насколько гибкий Ваша фабрика должна быть. Если фабрике нужна внешняя информация (как от конфигурационного файла, опций программы, и т.д.), чтобы определить, как создать объекты, чем объект имеет смысл. Если все, в чем Вы будете когда-либо нуждаться, находится в аргументах фабрике, чем функция прекрасна, вероятно.

Единственное преимущество I видит к наличию указателя, для тестирования, где можно использовать другую функцию фабрики.

2
ответ дан 17 December 2019 в 04:53
поделиться

Наличие интерфейса с отдельным методом или указателем на метод эквивалентно.

Но во втором случае Вы попадете в беду, если Вы захотите, чтобы другой метод согласился там сначала один...

И интерфейс более читаем, чем указатель метода, по-моему.

Затем Вы выбрали.

1
ответ дан 17 December 2019 в 04:53
поделиться

Я сказал бы, что преимущество наличия функции фабрики как статический метод в самом классе состоит в том, что ясно, что это - часть жизненного цикла того класса. То, чтобы заставлять это отделиться означает других программистов, которые используют Ваш класс, должен был бы посмотреть где-то в другом месте для нахождения метода фабрики.

Я сожалею, что я не уверен в точно, что Вы подразумеваете под раздаванием указателя функции к факторному методу, но я обычно не использовал бы указатель функции, если Вы не имеете к. Указатели функции не могут быть встроены, поскольку они не могут быть разрешены во время компиляции, что означает, что они могли возможно быть медленнее. Но помимо этого, это просто кажется плохим дизайном для использования указателя функции, если можно уже быть уверены, из которых функционируют, Вы собираетесь звонить во время компиляции.

1
ответ дан 17 December 2019 в 04:53
поделиться

Вы когда-либо хотите больше чем одну фабрику для типа? Если так, Вам нужны объекты фабрики.

1
ответ дан 17 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: