I have problem with architecture of LiteFtpClient application(Flex/Multicore PureMVC, Pipes, StateMachine). You can see mockup below.
Ftp address, username, password were entered. Application is in a process of connecting to the server(logging, getting directories), popup window is visible.
User can browse through files and folders in CONNECTED mode.
'New Folder' was clicked, popup window is visible
User is able to rename files, 'Rename' button was clicked
'OK' button was clicked in 'Delete File/Folder' popup window. 'delete item' request was sent to the server, application is waiting for response from the server. Popup window is still visible, 'OK' button is disabled.
I got following questions:
-should i create modules and StateMachines for each popup window? Maybe i am wrong, but i think it would be good to have FSMs(similar to that one below) for each popup window, application then can have States and SubStates.
-If i have modules for popups, when i should load them? Should i load modules one by one after user is successfully connected or maybe when for example, 'New Folder' button was clicked and popup window is about to be created.
- Do you add any view components into shell application? Should shell application only be responsible for loading, unloading, connecting and disconnecting modules?
-What are steps in your application development? Do you start with designing User Interfaces, Use Cases, States, etc?
I started with User Interfaces(screenshots) then i worked on States. Later i created SubStates, now i need modules since i have SubStates.
-How should i name modules, popup windows? DeletingModules or DeleteModule, FolderDeletingWindow...?
-How do you know how many modules you need? Is there any rule?
It looks like i need modules for states with substates.
Am i wrong?
I think i should have MainModule, BrowsingModule, DeletingModule and couple more for each popup windows.
MainModule, Main FSM Diagram, user is 'DISCONNECTED'.
BrowsingModule, Below FSM diagram can only happened when user(application) is in CONNECTED state.
DeletingModule, FSM Diagram for 'Delete' popup window
-Do you know any links to real world applications with source codes, any tutorials on how to architect this type applications?
I would like to to here your thoughts.NOTE!!!
Above application is for my practice purpose only(not for a client) and I will be happy to share source code with the community at the end.