You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@royale.apache.org by Hugo Ferreira <hf...@gmail.com> on 2020/10/22 08:47:05 UTC

How do you guys organize a large application using MVC ?

Hi,

Looking for TodoMVC example, it's perfect.
It follows the MVC pattern at the point but we are talking about a small
application with less then 10 files.

On my current Flex application I'm using a different organization from the
standard MVC:
+ models
-- all model files

+ module_name_1
-- MainViewName1.mxml
-- MainManagerName1.as
-- + some other sub-module_name_1
---- ViewName2.mxml
---- ManagerName2.as

+ module_name_2
-- MainViewName3.mxml
-- ManagerName3.as

Somehow, it's MVC and all operations are in correspondente manager
(controller) as file.

Looking now I'm not very satisfied with the solution. It's working and I
will not change, it is what it is, however on my ongoing Royale version I
can do a complete different approach.
There are hundread of mxml and as files, so the organization about models
(all as model files) + views (all mxml files) + controllers (all as
controller files) with end up with a non standard MVC organization
structure.

I'm thinking in one of two new approach:
Approach A:
+ models
+ views
--+ module_1
---- mxml1
---- mxml2
+ controllers
--+module_1
---- as1
---- as2

Approach B:
+ models
--+ module_1
----+views
----+controllers
--+ module_2
----+views
----+controllers

What do you guys think ?
Do you do MVC structure as the TodoMVC example or use a different approach
as I do.
Do you think Approach A it's better than B or do you have a third option ?

Re: How do you guys organize a large application using MVC ?

Posted by Carlos Rovira <ca...@apache.org>.
ok,

so a module's model should be as well in the module. since it is used to
store things related to the module.
You can see an App as many MVCs that are nested, one is the main app, then
module, then sub views, then sub custom components and then a Royale ui
control.
a model in a control is just for that control in contrast to an app model
that needs to be usable through all apps (that's why Crux Inject is so
helpful there). So App and module models used to be used all way down its
own hierarchy.

El jue., 22 oct. 2020 a las 16:59, Hugo Ferreira (<hf...@gmail.com>)
escribió:

> Thank you guys for your feedback.
> I have now a strategy.
>
> The difference between Approach B and Chris, it's about models.
> I prefer your and Chris approach.
>
> About split in to modules, yes I know that it's not fully operational.
> Sincerilly, not something that I'm worry right now but I want to make this
> MVC pattern (even without split in to modules).
>
> Carlos Rovira <ca...@apache.org> escreveu no dia quinta, 22/10/2020
> à(s) 15:35:
>
> > Hi Hugo, Chris,
> >
> > I use the same layout as Chris or you Hug's B option (I think both are
> the
> > same if I'm interpreting right).
> > Just notice that the Modules are not working fully right now as we
> noticed
> > few weeks ago. I think debug is working but not released (maybe Greg can
> > say if that's true or not).
> >
> > I think that's something that needs the expertise of Greg and Josh to
> make
> > it fully work. Hope they can finally work at some point.
> >
> > El jue., 22 oct. 2020 a las 10:57, Hugo Ferreira (<
> hferreira.80@gmail.com
> > >)
> > escribió:
> >
> > > Hi Christofer,
> > >
> > > Thank you.
> > >
> > > Interesting.
> > > Seems to follow better MVC pattern for a large application.
> > > I like it.
> > >
> > > Christofer Dutz <ch...@c-ware.de> escreveu no dia quinta,
> > > 22/10/2020 à(s) 09:53:
> > >
> > > > Hi Hugo,
> > > >
> > > > in my Home Automation demo, I split up all Modules into separate
> maven
> > > > modules.
> > > > So right now I have sort of this structure
> > > >
> > > > MainModule
> > > >    - model
> > > >    - view
> > > >    - controller
> > > >
> > > > ModuleA
> > > >    - model
> > > >    - view
> > > >    - controller
> > > >
> > > > ModuleB
> > > >    - model
> > > >    - view
> > > >    - controller
> > > >
> > > > The MainModule model contains all the types needed by the MainModule
> > and
> > > > which are shared among all modules and it takes care of loading
> ModuleA
> > > and
> > > > ModuleB
> > > > ModuleA and ModuleB each have the model classes they need exclusively
> > > > inside
> > > >
> > > > Not sure if this is the Royale way, but it's sort of what replicates
> > the
> > > > structure I have in my backend.
> > > >
> > > > Chris
> > > >
> > > >
> > > >
> > > > Am 22.10.20, 10:47 schrieb "Hugo Ferreira" <hferreira.80@gmail.com
> >:
> > > >
> > > >     Hi,
> > > >
> > > >     Looking for TodoMVC example, it's perfect.
> > > >     It follows the MVC pattern at the point but we are talking about
> a
> > > > small
> > > >     application with less then 10 files.
> > > >
> > > >     On my current Flex application I'm using a different organization
> > > from
> > > > the
> > > >     standard MVC:
> > > >     + models
> > > >     -- all model files
> > > >
> > > >     + module_name_1
> > > >     -- MainViewName1.mxml
> > > >     -- MainManagerName1.as
> > > >     -- + some other sub-module_name_1
> > > >     ---- ViewName2.mxml
> > > >     ---- ManagerName2.as
> > > >
> > > >     + module_name_2
> > > >     -- MainViewName3.mxml
> > > >     -- ManagerName3.as
> > > >
> > > >     Somehow, it's MVC and all operations are in correspondente
> manager
> > > >     (controller) as file.
> > > >
> > > >     Looking now I'm not very satisfied with the solution. It's
> working
> > > and
> > > > I
> > > >     will not change, it is what it is, however on my ongoing Royale
> > > > version I
> > > >     can do a complete different approach.
> > > >     There are hundread of mxml and as files, so the organization
> about
> > > > models
> > > >     (all as model files) + views (all mxml files) + controllers (all
> as
> > > >     controller files) with end up with a non standard MVC
> organization
> > > >     structure.
> > > >
> > > >     I'm thinking in one of two new approach:
> > > >     Approach A:
> > > >     + models
> > > >     + views
> > > >     --+ module_1
> > > >     ---- mxml1
> > > >     ---- mxml2
> > > >     + controllers
> > > >     --+module_1
> > > >     ---- as1
> > > >     ---- as2
> > > >
> > > >     Approach B:
> > > >     + models
> > > >     --+ module_1
> > > >     ----+views
> > > >     ----+controllers
> > > >     --+ module_2
> > > >     ----+views
> > > >     ----+controllers
> > > >
> > > >     What do you guys think ?
> > > >     Do you do MVC structure as the TodoMVC example or use a different
> > > > approach
> > > >     as I do.
> > > >     Do you think Approach A it's better than B or do you have a third
> > > > option ?
> > > >
> > > >
> > >
> >
> >
> > --
> > Carlos Rovira
> > Apache Member & Apache Royale PMC
> > *Apache Software Foundation*
> > http://about.me/carlosrovira
> >
>


-- 
Carlos Rovira
Apache Member & Apache Royale PMC
*Apache Software Foundation*
http://about.me/carlosrovira

Re: How do you guys organize a large application using MVC ?

Posted by Hugo Ferreira <hf...@gmail.com>.
Interesting.
A complete different approach but also very well organized.
MVC can really be implemented in different ways in terms of organization.

Harbs <ha...@gmail.com> escreveu no dia quinta, 22/10/2020 à(s) 16:30:

> I use PureMVC.
>
> I don’t use modules, and I’m personally skeptical that they really offer
> very much for a JS web app. Modules have to add to the total weight of the
> app and since binaries are not embedded into JS web apps, the extra weight
> opf including everything in one compiled JS file is probably less than the
> weight of using modules.
>
> Anyway, my structure looks like this:
>
> controller
> model
>  - contants
>  - events
>  - helpers
>  - notifications
>  - proxies
>  - services
>  - vos
> utils
> view
>  - components
>  - constants
>  - events
>  - localization
>  - managers
>  - mediators
>  - renderers
>
> > On Oct 22, 2020, at 5:59 PM, Hugo Ferreira <hf...@gmail.com>
> wrote:
> >
> > Thank you guys for your feedback.
> > I have now a strategy.
> >
> > The difference between Approach B and Chris, it's about models.
> > I prefer your and Chris approach.
> >
> > About split in to modules, yes I know that it's not fully operational.
> > Sincerilly, not something that I'm worry right now but I want to make
> this
> > MVC pattern (even without split in to modules).
> >
> > Carlos Rovira <ca...@apache.org> escreveu no dia quinta,
> 22/10/2020
> > à(s) 15:35:
> >
> >> Hi Hugo, Chris,
> >>
> >> I use the same layout as Chris or you Hug's B option (I think both are
> the
> >> same if I'm interpreting right).
> >> Just notice that the Modules are not working fully right now as we
> noticed
> >> few weeks ago. I think debug is working but not released (maybe Greg can
> >> say if that's true or not).
> >>
> >> I think that's something that needs the expertise of Greg and Josh to
> make
> >> it fully work. Hope they can finally work at some point.
> >>
> >> El jue., 22 oct. 2020 a las 10:57, Hugo Ferreira (<
> hferreira.80@gmail.com
> >>> )
> >> escribió:
> >>
> >>> Hi Christofer,
> >>>
> >>> Thank you.
> >>>
> >>> Interesting.
> >>> Seems to follow better MVC pattern for a large application.
> >>> I like it.
> >>>
> >>> Christofer Dutz <ch...@c-ware.de> escreveu no dia quinta,
> >>> 22/10/2020 à(s) 09:53:
> >>>
> >>>> Hi Hugo,
> >>>>
> >>>> in my Home Automation demo, I split up all Modules into separate maven
> >>>> modules.
> >>>> So right now I have sort of this structure
> >>>>
> >>>> MainModule
> >>>>   - model
> >>>>   - view
> >>>>   - controller
> >>>>
> >>>> ModuleA
> >>>>   - model
> >>>>   - view
> >>>>   - controller
> >>>>
> >>>> ModuleB
> >>>>   - model
> >>>>   - view
> >>>>   - controller
> >>>>
> >>>> The MainModule model contains all the types needed by the MainModule
> >> and
> >>>> which are shared among all modules and it takes care of loading
> ModuleA
> >>> and
> >>>> ModuleB
> >>>> ModuleA and ModuleB each have the model classes they need exclusively
> >>>> inside
> >>>>
> >>>> Not sure if this is the Royale way, but it's sort of what replicates
> >> the
> >>>> structure I have in my backend.
> >>>>
> >>>> Chris
> >>>>
> >>>>
> >>>>
> >>>> Am 22.10.20, 10:47 schrieb "Hugo Ferreira" <hf...@gmail.com>:
> >>>>
> >>>>    Hi,
> >>>>
> >>>>    Looking for TodoMVC example, it's perfect.
> >>>>    It follows the MVC pattern at the point but we are talking about a
> >>>> small
> >>>>    application with less then 10 files.
> >>>>
> >>>>    On my current Flex application I'm using a different organization
> >>> from
> >>>> the
> >>>>    standard MVC:
> >>>>    + models
> >>>>    -- all model files
> >>>>
> >>>>    + module_name_1
> >>>>    -- MainViewName1.mxml
> >>>>    -- MainManagerName1.as
> >>>>    -- + some other sub-module_name_1
> >>>>    ---- ViewName2.mxml
> >>>>    ---- ManagerName2.as
> >>>>
> >>>>    + module_name_2
> >>>>    -- MainViewName3.mxml
> >>>>    -- ManagerName3.as
> >>>>
> >>>>    Somehow, it's MVC and all operations are in correspondente manager
> >>>>    (controller) as file.
> >>>>
> >>>>    Looking now I'm not very satisfied with the solution. It's working
> >>> and
> >>>> I
> >>>>    will not change, it is what it is, however on my ongoing Royale
> >>>> version I
> >>>>    can do a complete different approach.
> >>>>    There are hundread of mxml and as files, so the organization about
> >>>> models
> >>>>    (all as model files) + views (all mxml files) + controllers (all as
> >>>>    controller files) with end up with a non standard MVC organization
> >>>>    structure.
> >>>>
> >>>>    I'm thinking in one of two new approach:
> >>>>    Approach A:
> >>>>    + models
> >>>>    + views
> >>>>    --+ module_1
> >>>>    ---- mxml1
> >>>>    ---- mxml2
> >>>>    + controllers
> >>>>    --+module_1
> >>>>    ---- as1
> >>>>    ---- as2
> >>>>
> >>>>    Approach B:
> >>>>    + models
> >>>>    --+ module_1
> >>>>    ----+views
> >>>>    ----+controllers
> >>>>    --+ module_2
> >>>>    ----+views
> >>>>    ----+controllers
> >>>>
> >>>>    What do you guys think ?
> >>>>    Do you do MVC structure as the TodoMVC example or use a different
> >>>> approach
> >>>>    as I do.
> >>>>    Do you think Approach A it's better than B or do you have a third
> >>>> option ?
> >>>>
> >>>>
> >>>
> >>
> >>
> >> --
> >> Carlos Rovira
> >> Apache Member & Apache Royale PMC
> >> *Apache Software Foundation*
> >> http://about.me/carlosrovira
> >>
>
>

Re: How do you guys organize a large application using MVC ?

Posted by Harbs <ha...@gmail.com>.
Maybe, but like I said, I’m skeptical.

Not saying you’re wrong, but I’m not convinced.

Whatever works for you…

Cheers,
Harbs

> On Oct 22, 2020, at 6:54 PM, Carlos Rovira <ca...@apache.org> wrote:
> 
> Hi Harbs,
> 
> I think that depends on the app itself. Maybe an App like PrintUI could be
> just one App since it is like a desktop app with many functionality built
> in but all used in a few screens. But in our case, our apps use lots of
> different screens, and grow constantly, it's in fact like to have many apps
> in one, just that all are related to the same domain (user, objects to work
> with,...). So at the end of the day you need to break into parts and if
> you're working in a leaf module you'll be more quick by just compiling that
> leaf instead of a monster app. So I think it is about use cases to choose
> one or another.
> 
> El jue., 22 oct. 2020 a las 17:30, Harbs (<ha...@gmail.com>) escribió:
> 
>> I use PureMVC.
>> 
>> I don’t use modules, and I’m personally skeptical that they really offer
>> very much for a JS web app. Modules have to add to the total weight of the
>> app and since binaries are not embedded into JS web apps, the extra weight
>> opf including everything in one compiled JS file is probably less than the
>> weight of using modules.
>> 
>> Anyway, my structure looks like this:
>> 
>> controller
>> model
>> - contants
>> - events
>> - helpers
>> - notifications
>> - proxies
>> - services
>> - vos
>> utils
>> view
>> - components
>> - constants
>> - events
>> - localization
>> - managers
>> - mediators
>> - renderers
>> 
>>> On Oct 22, 2020, at 5:59 PM, Hugo Ferreira <hf...@gmail.com>
>> wrote:
>>> 
>>> Thank you guys for your feedback.
>>> I have now a strategy.
>>> 
>>> The difference between Approach B and Chris, it's about models.
>>> I prefer your and Chris approach.
>>> 
>>> About split in to modules, yes I know that it's not fully operational.
>>> Sincerilly, not something that I'm worry right now but I want to make
>> this
>>> MVC pattern (even without split in to modules).
>>> 
>>> Carlos Rovira <ca...@apache.org> escreveu no dia quinta,
>> 22/10/2020
>>> à(s) 15:35:
>>> 
>>>> Hi Hugo, Chris,
>>>> 
>>>> I use the same layout as Chris or you Hug's B option (I think both are
>> the
>>>> same if I'm interpreting right).
>>>> Just notice that the Modules are not working fully right now as we
>> noticed
>>>> few weeks ago. I think debug is working but not released (maybe Greg can
>>>> say if that's true or not).
>>>> 
>>>> I think that's something that needs the expertise of Greg and Josh to
>> make
>>>> it fully work. Hope they can finally work at some point.
>>>> 
>>>> El jue., 22 oct. 2020 a las 10:57, Hugo Ferreira (<
>> hferreira.80@gmail.com
>>>>> )
>>>> escribió:
>>>> 
>>>>> Hi Christofer,
>>>>> 
>>>>> Thank you.
>>>>> 
>>>>> Interesting.
>>>>> Seems to follow better MVC pattern for a large application.
>>>>> I like it.
>>>>> 
>>>>> Christofer Dutz <ch...@c-ware.de> escreveu no dia quinta,
>>>>> 22/10/2020 à(s) 09:53:
>>>>> 
>>>>>> Hi Hugo,
>>>>>> 
>>>>>> in my Home Automation demo, I split up all Modules into separate maven
>>>>>> modules.
>>>>>> So right now I have sort of this structure
>>>>>> 
>>>>>> MainModule
>>>>>>  - model
>>>>>>  - view
>>>>>>  - controller
>>>>>> 
>>>>>> ModuleA
>>>>>>  - model
>>>>>>  - view
>>>>>>  - controller
>>>>>> 
>>>>>> ModuleB
>>>>>>  - model
>>>>>>  - view
>>>>>>  - controller
>>>>>> 
>>>>>> The MainModule model contains all the types needed by the MainModule
>>>> and
>>>>>> which are shared among all modules and it takes care of loading
>> ModuleA
>>>>> and
>>>>>> ModuleB
>>>>>> ModuleA and ModuleB each have the model classes they need exclusively
>>>>>> inside
>>>>>> 
>>>>>> Not sure if this is the Royale way, but it's sort of what replicates
>>>> the
>>>>>> structure I have in my backend.
>>>>>> 
>>>>>> Chris
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Am 22.10.20, 10:47 schrieb "Hugo Ferreira" <hf...@gmail.com>:
>>>>>> 
>>>>>>   Hi,
>>>>>> 
>>>>>>   Looking for TodoMVC example, it's perfect.
>>>>>>   It follows the MVC pattern at the point but we are talking about a
>>>>>> small
>>>>>>   application with less then 10 files.
>>>>>> 
>>>>>>   On my current Flex application I'm using a different organization
>>>>> from
>>>>>> the
>>>>>>   standard MVC:
>>>>>>   + models
>>>>>>   -- all model files
>>>>>> 
>>>>>>   + module_name_1
>>>>>>   -- MainViewName1.mxml
>>>>>>   -- MainManagerName1.as
>>>>>>   -- + some other sub-module_name_1
>>>>>>   ---- ViewName2.mxml
>>>>>>   ---- ManagerName2.as
>>>>>> 
>>>>>>   + module_name_2
>>>>>>   -- MainViewName3.mxml
>>>>>>   -- ManagerName3.as
>>>>>> 
>>>>>>   Somehow, it's MVC and all operations are in correspondente manager
>>>>>>   (controller) as file.
>>>>>> 
>>>>>>   Looking now I'm not very satisfied with the solution. It's working
>>>>> and
>>>>>> I
>>>>>>   will not change, it is what it is, however on my ongoing Royale
>>>>>> version I
>>>>>>   can do a complete different approach.
>>>>>>   There are hundread of mxml and as files, so the organization about
>>>>>> models
>>>>>>   (all as model files) + views (all mxml files) + controllers (all as
>>>>>>   controller files) with end up with a non standard MVC organization
>>>>>>   structure.
>>>>>> 
>>>>>>   I'm thinking in one of two new approach:
>>>>>>   Approach A:
>>>>>>   + models
>>>>>>   + views
>>>>>>   --+ module_1
>>>>>>   ---- mxml1
>>>>>>   ---- mxml2
>>>>>>   + controllers
>>>>>>   --+module_1
>>>>>>   ---- as1
>>>>>>   ---- as2
>>>>>> 
>>>>>>   Approach B:
>>>>>>   + models
>>>>>>   --+ module_1
>>>>>>   ----+views
>>>>>>   ----+controllers
>>>>>>   --+ module_2
>>>>>>   ----+views
>>>>>>   ----+controllers
>>>>>> 
>>>>>>   What do you guys think ?
>>>>>>   Do you do MVC structure as the TodoMVC example or use a different
>>>>>> approach
>>>>>>   as I do.
>>>>>>   Do you think Approach A it's better than B or do you have a third
>>>>>> option ?
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> --
>>>> Carlos Rovira
>>>> Apache Member & Apache Royale PMC
>>>> *Apache Software Foundation*
>>>> http://about.me/carlosrovira
>>>> 
>> 
>> 
> 
> -- 
> Carlos Rovira
> Apache Member & Apache Royale PMC
> *Apache Software Foundation*
> http://about.me/carlosrovira


Re: How do you guys organize a large application using MVC ?

Posted by Carlos Rovira <ca...@apache.org>.
Hi Harbs,

I think that depends on the app itself. Maybe an App like PrintUI could be
just one App since it is like a desktop app with many functionality built
in but all used in a few screens. But in our case, our apps use lots of
different screens, and grow constantly, it's in fact like to have many apps
in one, just that all are related to the same domain (user, objects to work
with,...). So at the end of the day you need to break into parts and if
you're working in a leaf module you'll be more quick by just compiling that
leaf instead of a monster app. So I think it is about use cases to choose
one or another.

El jue., 22 oct. 2020 a las 17:30, Harbs (<ha...@gmail.com>) escribió:

> I use PureMVC.
>
> I don’t use modules, and I’m personally skeptical that they really offer
> very much for a JS web app. Modules have to add to the total weight of the
> app and since binaries are not embedded into JS web apps, the extra weight
> opf including everything in one compiled JS file is probably less than the
> weight of using modules.
>
> Anyway, my structure looks like this:
>
> controller
> model
>  - contants
>  - events
>  - helpers
>  - notifications
>  - proxies
>  - services
>  - vos
> utils
> view
>  - components
>  - constants
>  - events
>  - localization
>  - managers
>  - mediators
>  - renderers
>
> > On Oct 22, 2020, at 5:59 PM, Hugo Ferreira <hf...@gmail.com>
> wrote:
> >
> > Thank you guys for your feedback.
> > I have now a strategy.
> >
> > The difference between Approach B and Chris, it's about models.
> > I prefer your and Chris approach.
> >
> > About split in to modules, yes I know that it's not fully operational.
> > Sincerilly, not something that I'm worry right now but I want to make
> this
> > MVC pattern (even without split in to modules).
> >
> > Carlos Rovira <ca...@apache.org> escreveu no dia quinta,
> 22/10/2020
> > à(s) 15:35:
> >
> >> Hi Hugo, Chris,
> >>
> >> I use the same layout as Chris or you Hug's B option (I think both are
> the
> >> same if I'm interpreting right).
> >> Just notice that the Modules are not working fully right now as we
> noticed
> >> few weeks ago. I think debug is working but not released (maybe Greg can
> >> say if that's true or not).
> >>
> >> I think that's something that needs the expertise of Greg and Josh to
> make
> >> it fully work. Hope they can finally work at some point.
> >>
> >> El jue., 22 oct. 2020 a las 10:57, Hugo Ferreira (<
> hferreira.80@gmail.com
> >>> )
> >> escribió:
> >>
> >>> Hi Christofer,
> >>>
> >>> Thank you.
> >>>
> >>> Interesting.
> >>> Seems to follow better MVC pattern for a large application.
> >>> I like it.
> >>>
> >>> Christofer Dutz <ch...@c-ware.de> escreveu no dia quinta,
> >>> 22/10/2020 à(s) 09:53:
> >>>
> >>>> Hi Hugo,
> >>>>
> >>>> in my Home Automation demo, I split up all Modules into separate maven
> >>>> modules.
> >>>> So right now I have sort of this structure
> >>>>
> >>>> MainModule
> >>>>   - model
> >>>>   - view
> >>>>   - controller
> >>>>
> >>>> ModuleA
> >>>>   - model
> >>>>   - view
> >>>>   - controller
> >>>>
> >>>> ModuleB
> >>>>   - model
> >>>>   - view
> >>>>   - controller
> >>>>
> >>>> The MainModule model contains all the types needed by the MainModule
> >> and
> >>>> which are shared among all modules and it takes care of loading
> ModuleA
> >>> and
> >>>> ModuleB
> >>>> ModuleA and ModuleB each have the model classes they need exclusively
> >>>> inside
> >>>>
> >>>> Not sure if this is the Royale way, but it's sort of what replicates
> >> the
> >>>> structure I have in my backend.
> >>>>
> >>>> Chris
> >>>>
> >>>>
> >>>>
> >>>> Am 22.10.20, 10:47 schrieb "Hugo Ferreira" <hf...@gmail.com>:
> >>>>
> >>>>    Hi,
> >>>>
> >>>>    Looking for TodoMVC example, it's perfect.
> >>>>    It follows the MVC pattern at the point but we are talking about a
> >>>> small
> >>>>    application with less then 10 files.
> >>>>
> >>>>    On my current Flex application I'm using a different organization
> >>> from
> >>>> the
> >>>>    standard MVC:
> >>>>    + models
> >>>>    -- all model files
> >>>>
> >>>>    + module_name_1
> >>>>    -- MainViewName1.mxml
> >>>>    -- MainManagerName1.as
> >>>>    -- + some other sub-module_name_1
> >>>>    ---- ViewName2.mxml
> >>>>    ---- ManagerName2.as
> >>>>
> >>>>    + module_name_2
> >>>>    -- MainViewName3.mxml
> >>>>    -- ManagerName3.as
> >>>>
> >>>>    Somehow, it's MVC and all operations are in correspondente manager
> >>>>    (controller) as file.
> >>>>
> >>>>    Looking now I'm not very satisfied with the solution. It's working
> >>> and
> >>>> I
> >>>>    will not change, it is what it is, however on my ongoing Royale
> >>>> version I
> >>>>    can do a complete different approach.
> >>>>    There are hundread of mxml and as files, so the organization about
> >>>> models
> >>>>    (all as model files) + views (all mxml files) + controllers (all as
> >>>>    controller files) with end up with a non standard MVC organization
> >>>>    structure.
> >>>>
> >>>>    I'm thinking in one of two new approach:
> >>>>    Approach A:
> >>>>    + models
> >>>>    + views
> >>>>    --+ module_1
> >>>>    ---- mxml1
> >>>>    ---- mxml2
> >>>>    + controllers
> >>>>    --+module_1
> >>>>    ---- as1
> >>>>    ---- as2
> >>>>
> >>>>    Approach B:
> >>>>    + models
> >>>>    --+ module_1
> >>>>    ----+views
> >>>>    ----+controllers
> >>>>    --+ module_2
> >>>>    ----+views
> >>>>    ----+controllers
> >>>>
> >>>>    What do you guys think ?
> >>>>    Do you do MVC structure as the TodoMVC example or use a different
> >>>> approach
> >>>>    as I do.
> >>>>    Do you think Approach A it's better than B or do you have a third
> >>>> option ?
> >>>>
> >>>>
> >>>
> >>
> >>
> >> --
> >> Carlos Rovira
> >> Apache Member & Apache Royale PMC
> >> *Apache Software Foundation*
> >> http://about.me/carlosrovira
> >>
>
>

-- 
Carlos Rovira
Apache Member & Apache Royale PMC
*Apache Software Foundation*
http://about.me/carlosrovira

Re: How do you guys organize a large application using MVC ?

Posted by Harbs <ha...@gmail.com>.
I use PureMVC.

I don’t use modules, and I’m personally skeptical that they really offer very much for a JS web app. Modules have to add to the total weight of the app and since binaries are not embedded into JS web apps, the extra weight opf including everything in one compiled JS file is probably less than the weight of using modules.

Anyway, my structure looks like this:

controller
model
 - contants
 - events
 - helpers
 - notifications
 - proxies
 - services
 - vos
utils
view
 - components
 - constants
 - events
 - localization
 - managers
 - mediators
 - renderers

> On Oct 22, 2020, at 5:59 PM, Hugo Ferreira <hf...@gmail.com> wrote:
> 
> Thank you guys for your feedback.
> I have now a strategy.
> 
> The difference between Approach B and Chris, it's about models.
> I prefer your and Chris approach.
> 
> About split in to modules, yes I know that it's not fully operational.
> Sincerilly, not something that I'm worry right now but I want to make this
> MVC pattern (even without split in to modules).
> 
> Carlos Rovira <ca...@apache.org> escreveu no dia quinta, 22/10/2020
> à(s) 15:35:
> 
>> Hi Hugo, Chris,
>> 
>> I use the same layout as Chris or you Hug's B option (I think both are the
>> same if I'm interpreting right).
>> Just notice that the Modules are not working fully right now as we noticed
>> few weeks ago. I think debug is working but not released (maybe Greg can
>> say if that's true or not).
>> 
>> I think that's something that needs the expertise of Greg and Josh to make
>> it fully work. Hope they can finally work at some point.
>> 
>> El jue., 22 oct. 2020 a las 10:57, Hugo Ferreira (<hferreira.80@gmail.com
>>> )
>> escribió:
>> 
>>> Hi Christofer,
>>> 
>>> Thank you.
>>> 
>>> Interesting.
>>> Seems to follow better MVC pattern for a large application.
>>> I like it.
>>> 
>>> Christofer Dutz <ch...@c-ware.de> escreveu no dia quinta,
>>> 22/10/2020 à(s) 09:53:
>>> 
>>>> Hi Hugo,
>>>> 
>>>> in my Home Automation demo, I split up all Modules into separate maven
>>>> modules.
>>>> So right now I have sort of this structure
>>>> 
>>>> MainModule
>>>>   - model
>>>>   - view
>>>>   - controller
>>>> 
>>>> ModuleA
>>>>   - model
>>>>   - view
>>>>   - controller
>>>> 
>>>> ModuleB
>>>>   - model
>>>>   - view
>>>>   - controller
>>>> 
>>>> The MainModule model contains all the types needed by the MainModule
>> and
>>>> which are shared among all modules and it takes care of loading ModuleA
>>> and
>>>> ModuleB
>>>> ModuleA and ModuleB each have the model classes they need exclusively
>>>> inside
>>>> 
>>>> Not sure if this is the Royale way, but it's sort of what replicates
>> the
>>>> structure I have in my backend.
>>>> 
>>>> Chris
>>>> 
>>>> 
>>>> 
>>>> Am 22.10.20, 10:47 schrieb "Hugo Ferreira" <hf...@gmail.com>:
>>>> 
>>>>    Hi,
>>>> 
>>>>    Looking for TodoMVC example, it's perfect.
>>>>    It follows the MVC pattern at the point but we are talking about a
>>>> small
>>>>    application with less then 10 files.
>>>> 
>>>>    On my current Flex application I'm using a different organization
>>> from
>>>> the
>>>>    standard MVC:
>>>>    + models
>>>>    -- all model files
>>>> 
>>>>    + module_name_1
>>>>    -- MainViewName1.mxml
>>>>    -- MainManagerName1.as
>>>>    -- + some other sub-module_name_1
>>>>    ---- ViewName2.mxml
>>>>    ---- ManagerName2.as
>>>> 
>>>>    + module_name_2
>>>>    -- MainViewName3.mxml
>>>>    -- ManagerName3.as
>>>> 
>>>>    Somehow, it's MVC and all operations are in correspondente manager
>>>>    (controller) as file.
>>>> 
>>>>    Looking now I'm not very satisfied with the solution. It's working
>>> and
>>>> I
>>>>    will not change, it is what it is, however on my ongoing Royale
>>>> version I
>>>>    can do a complete different approach.
>>>>    There are hundread of mxml and as files, so the organization about
>>>> models
>>>>    (all as model files) + views (all mxml files) + controllers (all as
>>>>    controller files) with end up with a non standard MVC organization
>>>>    structure.
>>>> 
>>>>    I'm thinking in one of two new approach:
>>>>    Approach A:
>>>>    + models
>>>>    + views
>>>>    --+ module_1
>>>>    ---- mxml1
>>>>    ---- mxml2
>>>>    + controllers
>>>>    --+module_1
>>>>    ---- as1
>>>>    ---- as2
>>>> 
>>>>    Approach B:
>>>>    + models
>>>>    --+ module_1
>>>>    ----+views
>>>>    ----+controllers
>>>>    --+ module_2
>>>>    ----+views
>>>>    ----+controllers
>>>> 
>>>>    What do you guys think ?
>>>>    Do you do MVC structure as the TodoMVC example or use a different
>>>> approach
>>>>    as I do.
>>>>    Do you think Approach A it's better than B or do you have a third
>>>> option ?
>>>> 
>>>> 
>>> 
>> 
>> 
>> --
>> Carlos Rovira
>> Apache Member & Apache Royale PMC
>> *Apache Software Foundation*
>> http://about.me/carlosrovira
>> 


Re: How do you guys organize a large application using MVC ?

Posted by Hugo Ferreira <hf...@gmail.com>.
Thank you guys for your feedback.
I have now a strategy.

The difference between Approach B and Chris, it's about models.
I prefer your and Chris approach.

About split in to modules, yes I know that it's not fully operational.
Sincerilly, not something that I'm worry right now but I want to make this
MVC pattern (even without split in to modules).

Carlos Rovira <ca...@apache.org> escreveu no dia quinta, 22/10/2020
à(s) 15:35:

> Hi Hugo, Chris,
>
> I use the same layout as Chris or you Hug's B option (I think both are the
> same if I'm interpreting right).
> Just notice that the Modules are not working fully right now as we noticed
> few weeks ago. I think debug is working but not released (maybe Greg can
> say if that's true or not).
>
> I think that's something that needs the expertise of Greg and Josh to make
> it fully work. Hope they can finally work at some point.
>
> El jue., 22 oct. 2020 a las 10:57, Hugo Ferreira (<hferreira.80@gmail.com
> >)
> escribió:
>
> > Hi Christofer,
> >
> > Thank you.
> >
> > Interesting.
> > Seems to follow better MVC pattern for a large application.
> > I like it.
> >
> > Christofer Dutz <ch...@c-ware.de> escreveu no dia quinta,
> > 22/10/2020 à(s) 09:53:
> >
> > > Hi Hugo,
> > >
> > > in my Home Automation demo, I split up all Modules into separate maven
> > > modules.
> > > So right now I have sort of this structure
> > >
> > > MainModule
> > >    - model
> > >    - view
> > >    - controller
> > >
> > > ModuleA
> > >    - model
> > >    - view
> > >    - controller
> > >
> > > ModuleB
> > >    - model
> > >    - view
> > >    - controller
> > >
> > > The MainModule model contains all the types needed by the MainModule
> and
> > > which are shared among all modules and it takes care of loading ModuleA
> > and
> > > ModuleB
> > > ModuleA and ModuleB each have the model classes they need exclusively
> > > inside
> > >
> > > Not sure if this is the Royale way, but it's sort of what replicates
> the
> > > structure I have in my backend.
> > >
> > > Chris
> > >
> > >
> > >
> > > Am 22.10.20, 10:47 schrieb "Hugo Ferreira" <hf...@gmail.com>:
> > >
> > >     Hi,
> > >
> > >     Looking for TodoMVC example, it's perfect.
> > >     It follows the MVC pattern at the point but we are talking about a
> > > small
> > >     application with less then 10 files.
> > >
> > >     On my current Flex application I'm using a different organization
> > from
> > > the
> > >     standard MVC:
> > >     + models
> > >     -- all model files
> > >
> > >     + module_name_1
> > >     -- MainViewName1.mxml
> > >     -- MainManagerName1.as
> > >     -- + some other sub-module_name_1
> > >     ---- ViewName2.mxml
> > >     ---- ManagerName2.as
> > >
> > >     + module_name_2
> > >     -- MainViewName3.mxml
> > >     -- ManagerName3.as
> > >
> > >     Somehow, it's MVC and all operations are in correspondente manager
> > >     (controller) as file.
> > >
> > >     Looking now I'm not very satisfied with the solution. It's working
> > and
> > > I
> > >     will not change, it is what it is, however on my ongoing Royale
> > > version I
> > >     can do a complete different approach.
> > >     There are hundread of mxml and as files, so the organization about
> > > models
> > >     (all as model files) + views (all mxml files) + controllers (all as
> > >     controller files) with end up with a non standard MVC organization
> > >     structure.
> > >
> > >     I'm thinking in one of two new approach:
> > >     Approach A:
> > >     + models
> > >     + views
> > >     --+ module_1
> > >     ---- mxml1
> > >     ---- mxml2
> > >     + controllers
> > >     --+module_1
> > >     ---- as1
> > >     ---- as2
> > >
> > >     Approach B:
> > >     + models
> > >     --+ module_1
> > >     ----+views
> > >     ----+controllers
> > >     --+ module_2
> > >     ----+views
> > >     ----+controllers
> > >
> > >     What do you guys think ?
> > >     Do you do MVC structure as the TodoMVC example or use a different
> > > approach
> > >     as I do.
> > >     Do you think Approach A it's better than B or do you have a third
> > > option ?
> > >
> > >
> >
>
>
> --
> Carlos Rovira
> Apache Member & Apache Royale PMC
> *Apache Software Foundation*
> http://about.me/carlosrovira
>

Re: How do you guys organize a large application using MVC ?

Posted by Carlos Rovira <ca...@apache.org>.
Hi Hugo, Chris,

I use the same layout as Chris or you Hug's B option (I think both are the
same if I'm interpreting right).
Just notice that the Modules are not working fully right now as we noticed
few weeks ago. I think debug is working but not released (maybe Greg can
say if that's true or not).

I think that's something that needs the expertise of Greg and Josh to make
it fully work. Hope they can finally work at some point.

El jue., 22 oct. 2020 a las 10:57, Hugo Ferreira (<hf...@gmail.com>)
escribió:

> Hi Christofer,
>
> Thank you.
>
> Interesting.
> Seems to follow better MVC pattern for a large application.
> I like it.
>
> Christofer Dutz <ch...@c-ware.de> escreveu no dia quinta,
> 22/10/2020 à(s) 09:53:
>
> > Hi Hugo,
> >
> > in my Home Automation demo, I split up all Modules into separate maven
> > modules.
> > So right now I have sort of this structure
> >
> > MainModule
> >    - model
> >    - view
> >    - controller
> >
> > ModuleA
> >    - model
> >    - view
> >    - controller
> >
> > ModuleB
> >    - model
> >    - view
> >    - controller
> >
> > The MainModule model contains all the types needed by the MainModule and
> > which are shared among all modules and it takes care of loading ModuleA
> and
> > ModuleB
> > ModuleA and ModuleB each have the model classes they need exclusively
> > inside
> >
> > Not sure if this is the Royale way, but it's sort of what replicates the
> > structure I have in my backend.
> >
> > Chris
> >
> >
> >
> > Am 22.10.20, 10:47 schrieb "Hugo Ferreira" <hf...@gmail.com>:
> >
> >     Hi,
> >
> >     Looking for TodoMVC example, it's perfect.
> >     It follows the MVC pattern at the point but we are talking about a
> > small
> >     application with less then 10 files.
> >
> >     On my current Flex application I'm using a different organization
> from
> > the
> >     standard MVC:
> >     + models
> >     -- all model files
> >
> >     + module_name_1
> >     -- MainViewName1.mxml
> >     -- MainManagerName1.as
> >     -- + some other sub-module_name_1
> >     ---- ViewName2.mxml
> >     ---- ManagerName2.as
> >
> >     + module_name_2
> >     -- MainViewName3.mxml
> >     -- ManagerName3.as
> >
> >     Somehow, it's MVC and all operations are in correspondente manager
> >     (controller) as file.
> >
> >     Looking now I'm not very satisfied with the solution. It's working
> and
> > I
> >     will not change, it is what it is, however on my ongoing Royale
> > version I
> >     can do a complete different approach.
> >     There are hundread of mxml and as files, so the organization about
> > models
> >     (all as model files) + views (all mxml files) + controllers (all as
> >     controller files) with end up with a non standard MVC organization
> >     structure.
> >
> >     I'm thinking in one of two new approach:
> >     Approach A:
> >     + models
> >     + views
> >     --+ module_1
> >     ---- mxml1
> >     ---- mxml2
> >     + controllers
> >     --+module_1
> >     ---- as1
> >     ---- as2
> >
> >     Approach B:
> >     + models
> >     --+ module_1
> >     ----+views
> >     ----+controllers
> >     --+ module_2
> >     ----+views
> >     ----+controllers
> >
> >     What do you guys think ?
> >     Do you do MVC structure as the TodoMVC example or use a different
> > approach
> >     as I do.
> >     Do you think Approach A it's better than B or do you have a third
> > option ?
> >
> >
>


-- 
Carlos Rovira
Apache Member & Apache Royale PMC
*Apache Software Foundation*
http://about.me/carlosrovira

Re: How do you guys organize a large application using MVC ?

Posted by Hugo Ferreira <hf...@gmail.com>.
Hi Christofer,

Thank you.

Interesting.
Seems to follow better MVC pattern for a large application.
I like it.

Christofer Dutz <ch...@c-ware.de> escreveu no dia quinta,
22/10/2020 à(s) 09:53:

> Hi Hugo,
>
> in my Home Automation demo, I split up all Modules into separate maven
> modules.
> So right now I have sort of this structure
>
> MainModule
>    - model
>    - view
>    - controller
>
> ModuleA
>    - model
>    - view
>    - controller
>
> ModuleB
>    - model
>    - view
>    - controller
>
> The MainModule model contains all the types needed by the MainModule and
> which are shared among all modules and it takes care of loading ModuleA and
> ModuleB
> ModuleA and ModuleB each have the model classes they need exclusively
> inside
>
> Not sure if this is the Royale way, but it's sort of what replicates the
> structure I have in my backend.
>
> Chris
>
>
>
> Am 22.10.20, 10:47 schrieb "Hugo Ferreira" <hf...@gmail.com>:
>
>     Hi,
>
>     Looking for TodoMVC example, it's perfect.
>     It follows the MVC pattern at the point but we are talking about a
> small
>     application with less then 10 files.
>
>     On my current Flex application I'm using a different organization from
> the
>     standard MVC:
>     + models
>     -- all model files
>
>     + module_name_1
>     -- MainViewName1.mxml
>     -- MainManagerName1.as
>     -- + some other sub-module_name_1
>     ---- ViewName2.mxml
>     ---- ManagerName2.as
>
>     + module_name_2
>     -- MainViewName3.mxml
>     -- ManagerName3.as
>
>     Somehow, it's MVC and all operations are in correspondente manager
>     (controller) as file.
>
>     Looking now I'm not very satisfied with the solution. It's working and
> I
>     will not change, it is what it is, however on my ongoing Royale
> version I
>     can do a complete different approach.
>     There are hundread of mxml and as files, so the organization about
> models
>     (all as model files) + views (all mxml files) + controllers (all as
>     controller files) with end up with a non standard MVC organization
>     structure.
>
>     I'm thinking in one of two new approach:
>     Approach A:
>     + models
>     + views
>     --+ module_1
>     ---- mxml1
>     ---- mxml2
>     + controllers
>     --+module_1
>     ---- as1
>     ---- as2
>
>     Approach B:
>     + models
>     --+ module_1
>     ----+views
>     ----+controllers
>     --+ module_2
>     ----+views
>     ----+controllers
>
>     What do you guys think ?
>     Do you do MVC structure as the TodoMVC example or use a different
> approach
>     as I do.
>     Do you think Approach A it's better than B or do you have a third
> option ?
>
>

Re: How do you guys organize a large application using MVC ?

Posted by Christofer Dutz <ch...@c-ware.de>.
Hi Hugo,

in my Home Automation demo, I split up all Modules into separate maven modules.
So right now I have sort of this structure

MainModule
   - model
   - view
   - controller

ModuleA
   - model
   - view
   - controller

ModuleB
   - model
   - view
   - controller

The MainModule model contains all the types needed by the MainModule and which are shared among all modules and it takes care of loading ModuleA and ModuleB
ModuleA and ModuleB each have the model classes they need exclusively inside

Not sure if this is the Royale way, but it's sort of what replicates the structure I have in my backend.

Chris



Am 22.10.20, 10:47 schrieb "Hugo Ferreira" <hf...@gmail.com>:

    Hi,

    Looking for TodoMVC example, it's perfect.
    It follows the MVC pattern at the point but we are talking about a small
    application with less then 10 files.

    On my current Flex application I'm using a different organization from the
    standard MVC:
    + models
    -- all model files

    + module_name_1
    -- MainViewName1.mxml
    -- MainManagerName1.as
    -- + some other sub-module_name_1
    ---- ViewName2.mxml
    ---- ManagerName2.as

    + module_name_2
    -- MainViewName3.mxml
    -- ManagerName3.as

    Somehow, it's MVC and all operations are in correspondente manager
    (controller) as file.

    Looking now I'm not very satisfied with the solution. It's working and I
    will not change, it is what it is, however on my ongoing Royale version I
    can do a complete different approach.
    There are hundread of mxml and as files, so the organization about models
    (all as model files) + views (all mxml files) + controllers (all as
    controller files) with end up with a non standard MVC organization
    structure.

    I'm thinking in one of two new approach:
    Approach A:
    + models
    + views
    --+ module_1
    ---- mxml1
    ---- mxml2
    + controllers
    --+module_1
    ---- as1
    ---- as2

    Approach B:
    + models
    --+ module_1
    ----+views
    ----+controllers
    --+ module_2
    ----+views
    ----+controllers

    What do you guys think ?
    Do you do MVC structure as the TodoMVC example or use a different approach
    as I do.
    Do you think Approach A it's better than B or do you have a third option ?