首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在大型项目中使用main.dart组织架构?

如何在大型项目中使用main.dart组织架构?
EN

Stack Overflow用户
提问于 2022-03-02 12:30:06
回答 1查看 176关注 0票数 0

我正准备用飞镖建造合适的建筑。我制作关于整体,肘,供应商等方面的教程。

你如何提供良好的组织main.dart让它写得很好?

例如,我使用模型,存储库,服务,cubit,屏幕itd.但是.每一件事都属于main.dart

代码语言:javascript
复制
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:pagination_app/data/repositories/post_repository.dart';
import 'package:pagination_app/presentation/post_screen.dart';

import 'bloc/posts/posts_cubit.dart';
import 'data/services/post_service.dart';

void main() {
  runApp(PaginationApp(repository: PostsRepository(PostsService()),));
}

class PaginationApp extends StatelessWidget {
  const PaginationApp({Key? key, required this.repository}) : super(key: key);

  final PostsRepository repository;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: BlocProvider(
        create: (context) => PostsCubit(repository),
        child: PostsView(),
      ),
    );
  }
}

如果我把它用在小项目上,那是可以的。您如何实现干净的代码,可能是某种全球性的提供者,在这里我处理所有的存储库,然后启动到main.dart?你的建议是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-08 21:46:13

有多种方法可以实现它。其中之一就是您刚才提到的--在main.dart中注入存储库/服务。更好的是--不要弄乱这个文件,您可以在一个单独的文件中创建某种引导函数,它封装应用程序并注入依赖项。通过这种方式,您可以保持main.dart的清洁,方法是有一个保持和管理依赖关系的位置。这里,您可以找到这样的引导函数的示例。

另一种方法是使用依赖项注入(DI)包或服务定位器,其中定义了以后可以通过应用程序访问的所有依赖项。例如,在使用时,可以通过在单个文件中注册所有应用程序依赖项来创建一个启动服务定位器的专用文件。这样,您就不需要以任何方式包装您的应用程序,因为服务定位器基本上是一个全局访问的单例对象,它允许您解决依赖关系。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71322727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档