如何使用MVC模式创建Flutter框架

tktrz96b  于 2023-01-14  发布在  Flutter
关注(0)|答案(1)|浏览(241)

这是我的github项目链接https://github.com/RajTechnologiesPvtLtd/flutter-moonlight
如何转换到MVC模式,并给出了相应的建议.
使用MVC模式创建自己的框架

k4emjkb1

k4emjkb11#

我认为问题在于你要理解什么是MVC。从我的理解来看,M-V-C的概念是抽象的,可以在flutter中使用不同的状态管理包

Model:Model表示您的类

class ExampleClass {
 final String name;
   
  ExampleClass({required this.name});
}

控制器:这是你处理业务逻辑的地方,你可以使用Bloc包,Getx包,Provider包等等。

class ExampleController extends ChangeNotifier {
 final ExampleClass? _data;
 ExampleClass? get data => _data;

  setMyClass(ExampleClass value) {
    _data = value;
    notifyListeners();
  }
}

然后查看(您的UI页面):使用Controllers,您可以尝试管理UI的所有状态,并保持UI简单且仅用于UI。

class ExampleUI extends StatelessWidget {
  const ExampleUI({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          Consumer<ExampleController>(builder: (ctx, controller, v) {
            return TextButton(
                onPressed: () {
                  controller.setMyClass(ExampleClass(name:'Bhargav Raviya'));
                },
                child: Text(controller.data!= null ? controller.data.name :'Button'));
          }),
          
        ],
      ),
    );
  }
}

相关问题