-
-
Notifications
You must be signed in to change notification settings - Fork 584
Description
The name App sounds like the only root of the application structure (could be a singleton) but actually, it is also a container of a group of URLs that is independently configurable with middlewares and error handlers. The App.Group() and App.Resource() return a new App which is a child of the root App, it's OK, but they have the whole functions of App which is not desirable.
By #2226, a quick fix for #2185, I changed some of the internal implementations of App while keeping the external behavior the same, but there are still some issues caused by the current design. Since we are now discussing v1, the future of buffalo, so I would like to suggest that we keep this structure for the current version and improve the core when we move to the next version.
TODO
- make the
Homethe container of a group of URLs and its independent middlewares and error handlers (half done) - make
Homeas a child of theApp. - make
Appas a singleton (but we need more consideration for this since it is not always a good thing.)