У меня нет проблем с реализацией более простых пакетов с DDD, но как я могу go реализовать пакет RevenueCat ( управляет подписками с покупками в приложении ) для флаттера с помощью DDD. У меня проблема в том, что они требуют, чтобы их собственные классы (пакеты) передавались через функции пакетов. классы, и это не загрязняет никакую другую часть моего кода, я хотел бы добиться этого и здесь.
Например (выдержка из ссылки на репозиторий пакетов github, которая находится в конце вопроса)
class UpsellScreen extends StatelessWidget {
final Offerings offerings;
UpsellScreen({Key key, @required this.offerings}) : super(key: key);
@override
Widget build(BuildContext context) {
if (offerings != null) {
final offering = offerings.current;
if (offering != null) {
final monthly = offering.monthly;
final yearly = offering.annual;
if (monthly != null && yearly != null) {
return Scaffold(
appBar: AppBar(title: Text("Upsell Screen")),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
PurchaseButton(package: monthly),
PurchaseButton(package: yearly)
],
)));
}
}
}
return Scaffold(
appBar: AppBar(title: Text("Upsell Screen")),
body: Center(
child: Text("Loading..."),
));
}
}
Существует пример полной реализации, которой довольно просто следовать, и это всего лишь один файл: https://github.com/RevenueCat/purchases-flutter/blob/master/example/lib/main.dart
As I ' m новичок в DDD, я не уверен, как именно реализовать такой пакет, и хотел бы придерживаться DDD в качестве своего дизайнерского решения, так как мне очень нравится рабочий процесс.