Well said Pete. Sometimes change for changes sake, and because it was done that way before you therefore it's not right anymore is a problem.

The goal is easy, understandable, maintainable code by the developer that comes after you. MVC is easy, straight forward, and maintainable. Passé, maybe but who cares. Sometimes we greybeards aren't just old, rather we are experienced.


--
Jim Oberholtzer
Agile Technology Architects


-----Original Message-----
From: OpenSource [mailto:opensource-bounces@xxxxxxxxxxxx] On Behalf Of Pete Helgren
Sent: Friday, January 12, 2018 7:31 AM
To: IBMi Open Source Roundtable <opensource@xxxxxxxxxxxx>
Subject: Re: [IBMiOSS] Node code organization

So, everyone will have a opinion on this...take mine with a grain of salt....

The MVC pattern was driven by the need to move from a monolithic program to a structure that was more modular, maintainable and organized. So, even a monolithic pre-MVC pattern program would have subroutines that broke out the different programmatic components. So, building reusable modules of Models, Views and Controllers, even if they weren't completely reused as a components, was just a logical extension of a need for organization wrapped around the available technology.

The latest craze of "micro-services" is just an extreme extension of MVC into today's heterogeneous technology environment. The pendulum will swing back into more complete "packages" rather than micro-services at some point. There is just a practical balance of functional separation and maintainability that will rule the day.

The term MVC may be passe, but the concept is alive and well and now living in a micro-service world....

Pete Helgren
www.petesworkshop.com
GIAC Secure Software Programmer-Java
Twitter - Sys_i_Geek IBM_i_Geek

On 1/12/2018 2:09 AM, Kevin wrote:
Do you really want a traditional MVC pattern? That’s generally considered a bit passé. If you are developing something new then I would go with the component approach (ala React, Angular 2 and beyond, Vue etc).

On 12 Jan 2018, at 00:44, Justin Taylor <JUSTIN@xxxxxxxxxxxxx> wrote:

I ran this command:

$ express hello_world


It generated these directories:

-bin

-public

---images

---javascripts

---stylesheets

-routes

-views


With MVC, I think V=views and C=routes, and I'd need to create a dir for M. Does that sound about right?



________________________________
From: Pete Helgren <pete@xxxxxxxxxx>
Sent: Thursday, January 11, 2018 1:42 PM
To: IBMi Open Source Roundtable
Subject: Re: [IBMiOSS] Node code organization

Some frameworks are opinionated and some aren't so it depends if you
are going to end up fighting conventions or not. I think just about
any framework with an MVC design pattern will group like code/objects
together and I even do that for my RPG stuff (which has no opinion).
Node itself I don't think cares about structure. It is what ever is
familiar to you, but in most cases my guess is that you'll follow
either a logical grouping of like code:

/Model

/View

/Controller

Or use a naming convention: model1.js, view1.js, controller1.js
under a single folder. My Java and Rails projects follow the
convention above; A structured, opinionated layout. My Node projects
follow the latter unless they use a framework that has it's own opinionated structure.

I'd say with complex apps, MVC by folder groupings may be easier.
For small apps I'd keep it simple....

Pete Helgren
www.petesworkshop.com<http://www.petesworkshop.com>
GIAC Secure Software Programmer-Java
Twitter - Sys_i_Geek IBM_i_Geek

--
This is the IBMi Open Source Roundtable (OpenSource) mailing list To
post a message email: OpenSource@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/opensource
or email: OpenSource-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
https://archive.midrange.com/opensource.

--
This is the IBMi Open Source Roundtable (OpenSource) mailing list To post a message email: OpenSource@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/opensource
or email: OpenSource-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at https://archive.midrange.com/opensource.


This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].