anchor.diff:  import '../redux_component/redux_component.dart';
   import '../utils/utils.dart';
   
  -/// Define a basic behavior of route.
  +/// Define a basic behavior of routes.
   abstract class AbstractRoutes {
     Widget buildPage(String path, Map<String, dynamic> map);
   }
  
positive.code: ///             AppRoutes<T>(
  ///               preloadedState: T(),
  ///               middleware:[],
  ///               slots: {
  ///                 'message': MsgConn() + MessageComponent(),
  ///                 'personal': PersonalConn() + PersonalComponent(),
  ///               },
  
negative.code: 
  /// Multi-page(a route component is a page) sharing a store.
  class AppRoutes<T> implements AbstractRoutes {
    final Map<String, Dependent<T>> pages;
    final PageStore<T> _store;
  
    AppRoutes({
      @required T preloadedState,
      @required this.pages,
      Reducer<T> reducer,
      List<Middleware<T>> middleware,
    })  : assert(preloadedState != null,
              'Expected the preloadedState to be non-null value.'),
          assert(pages != null, 'Expected the slots to be non-null value.'),
          _store = createPageStore<T>(
            preloadedState,
            _createReducer<T>(pages, reducer),
            applyMiddleware<T>(middleware),
          );
  
    @override
    Widget buildPage(String path, Map<String, dynamic> map) {
      final Dependent<T> dependent = pages[path];
      if (dependent != null) {
        _store.dispatch(_RouteActionCreator._route(path, map));
      }
  