飞镖是 Nesisty 还是只是品味问题?

问题描述 投票:0回答:1

所以在我开始之前,我是 Flutter 和编程的初学者。

我过去只是跟随视频教程并考虑它们的最佳实践,我最早的教程之一向我介绍了 Dartz 库,它在从 api 获取数据时使用。

final Either<ServerException, answer> result = await repository.get(...);
result.fold(
 (exception) => handle, 
 (answer) => yaay
);

它是作为唯一方法引入的,所以我认为,但是现在我对未来类型及其所有功能有了更多了解,我还了解到我可以使用 OnError 或 try and catch 处理异常。

更多搜索让我了解到 Dartz 确实为 dart 提供了函数式编程风格,因为它是 OOP 语言。

考虑到这一切

1- 是更好还是只是有些人更喜欢那样?

2- 为什么我觉得人们那么讨厌 OOP?

3- 对于像我这样仍在学习的人来说,使用库来改变语言风格并避免使用本机代码行为有什么好处吗?

flutter dart oop functional-programming dartz
1个回答
0
投票

我更喜欢 fpdart,并且正在为许多客户在生产中使用它。

https://pub.dev/packages/fpdart 关于 dartz 有这样的说法:

与达茨比较 dartz一直以来的一大痛点就是缺少 文档。对于尝试使用该包的函数式编程新手来说,这是一个巨大的问题。

dartz 于 2016 年发布,最初针对 Dart 1.

dartz 还缺少一些功能和类型(Reader、TaskEither 等)。

fpdart是基于fp-ts和cats的重写。主要区别是:

Fpdart 有完整的文档。 Fpdart 使用去功能化实现更高种类的类型。 Fpdart 基于 Dart 3。 Fpdart 从一开始就是完全空安全的。 Fpdart 有更丰富的 API。 Fpdart 在 dartz 中实现了一些缺失的类型。 ? Fpdart(当前)不提供不可变集合(ISet、IMap、IHashMap、AVLTree)的实现。

© www.soinside.com 2019 - 2024. All rights reserved.