标签: provider-model

存储库模式是否与Asp.net提供者模型相同?

从Asp.net 2.0开始,就有Provider Model.在实现细节上,提供者是从ProviderBase派生的类,它是一个抽象类而不是接口,但无论如何,Provider Model都存在,这样我们可以通过编辑web.config来实现不同的实现交换.例如,如果您创建一个博客应用程序,您可能有一个BlogProvider:ProviderBase,那么您可以使用BlogProvider的实现:SqlBlogProvider,OracleBlogProvider甚至MockBlogProvider进行测试.

现在,Repository Pattern越来越受欢迎,我觉得它是为了满足相同的需求,虽然在实现细节中,你通常使用接口,所以IBlogProvider,你通过构造函数而不是属性注入不同的实现,但实际上我不是看看这两种模式给我们的不同之处.

就个人而言,我觉得供应商模型在实施中对我来说更自然.那么,它们之间是否存在差异,或者它们是由不同社区给出的不同名称相同的东西?

我很感激任何评论,谢谢,雷.

design-patterns provider-model repository-pattern

10
推荐指数
1
解决办法
2438
查看次数

如何在 Flutter 中使用 Provider 显示 ChangeNotifier 中的错误

我正在尝试找到通过 Snackbar 显示带有 Provider 的 Change Notifier Model 错误的最佳方法。

是否有任何内置方法或任何建议可以帮助我?

我发现这种方式有效,但我不知道它是否正确。

假设我有一个简单的页面,我想在其中显示一个对象列表和一个从 api 检索这些对象的模型。如果出现错误,我会通知一个错误字符串,并且我想用 SnackBar 显示该错误。

页面.dart

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

class Page extends StatefulWidget {
  Page({Key key}) : super(key: key);

  @override
  _PageState createState() => _PageState();
}

class _PageState extends State< Page > {

  @override
  void initState(){
    super.initState();
    Provider.of<Model>(context, listen: false).load();
  }

  @override
  void didChangeDependencies() {
    super.didChangeDependencies();
    Provider.of< Model >(context, listen: false).addListener(_listenForErrors);
  }

  @override
  Widget build(BuildContext context){
    super.build(context);
    return Scaffold(
      appBar: AppBar(),
      body: Consumer<Model>(
          builder: (context, model, child){
  
            if(model.elements != …
Run Code Online (Sandbox Code Playgroud)

provider-model dart flutter flutter-layout flutter-provider

10
推荐指数
2
解决办法
6727
查看次数

.net中的提供者模型

当.net 2.0框架首次出现时,提供者模型风靡一时.2.0甚至附带了一堆默认提供商(会员,站点地图,角色).自从2.0发布以来,炒作已经偃旗息鼓,虽然我仍然日复一日地使用提供商,但似乎压力要小得多.

我想知道这是因为人们使用的不是提供商,而是他们已经被取代了,还是仅仅是因为占用不像其他IoC方法那么大?

.net c# provider-model

8
推荐指数
1
解决办法
1028
查看次数

提供者模型和性能

使用提供者模式是否有任何性能影响?

它是依赖于每个实例化的反射还是其他什么?

.net c# provider-model

3
推荐指数
1
解决办法
430
查看次数

通过 addPostFrameCallback 访问 Flutter Provider 表示小部件位于小部件树之外,但 Flutter 检查器显示其他情况

我正在 Flutter 中构建我的第一个大型应用程序,也是我需要状态管理的第一个应用程序,所以我转向了 Provider,这是用于状态管理的推荐包。但是,我在 main.dart 文件和树下声明我的提供者时遇到了一些问题,我想进行更改并与其中一个提供者进行交互,但无论我尝试什么解决方案,我都会遇到相同的错误:“已尝试从窗口小部件树外部收听提供者公开的值。”。即使根据颤振检查器,我尝试对提供程序进行更改的小部件位于小部件树内部(“主屏幕”屏幕来自我更新提供程序的位置),我也会收到此错误。 根据 Flutter 检查器的小部件树

下面我也分享我的代码:main.dart:

import 'package:flutter/material.dart';
import 'package:tic_tac_2/screens/welcome_screen.dart';
import 'package:provider/provider.dart';
import 'package:tic_tac_2/models/restaurants_data.dart';
import 'package:tic_tac_2/models/promotions_data.dart';
import 'package:tic_tac_2/models/user.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        ChangeNotifierProvider<User>(create: (context) => User(),),
        ChangeNotifierProvider<RestaurantsData>(create: (context) => RestaurantsData(),),
        ChangeNotifierProvider<PromotionsData>(create: (context) => PromotionsData(),),
      ],
      child: MaterialApp(
        title: 'Tic Tac',
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        home: WelcomeScreen(),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

欢迎_screen.dart:

import 'package:flutter/material.dart';
import 'package:animated_text_kit/animated_text_kit.dart'; …
Run Code Online (Sandbox Code Playgroud)

provider-model flutter flutter-provider

2
推荐指数
1
解决办法
4786
查看次数