Roc加载模块过程

System(Facade)::initializeSystem

  set up Controller & Model

Controller initilization

    intilize system env

    start init_module []

      register init module

      create module state

        init_state.reset

        register state to system

      create module UIs

A:   changeStateTo init state

         check if is a new state to enter, new_state.enterState(noti,old_state)

            state.send notification of SimInitNoti_StartInit

B:         push notice to notification queue and begin handling loop

                     System::handleNotification –> Controller.handleNotification 

                      pass to module or state to handle, and get next state

                      State’s handling to notification according to different types

                      change to next state, which falls back to lable A, but with a different new state.

                      

       

           1.      check_env

           2.      create main module

                       create_main_module

                             create states:  rocmain_InitState\RocMain_RocDefaultState\RocMain_RocUISetupState

                             create UIs

                                   main window

                                   window mediator

          3.       create availableModules

                            create browser module

                            create edit module and multi-edit module

                            add to above 3 to main module

          4.        start_roc_main 

                            unload init module

                            find roc main module

原文地址:https://www.cnblogs.com/justin_s/p/1911132.html