#1
  1. wizard
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2009
    Location
    The Great White North
    Posts
    83
    Rep Power
    141

    GUI Architecture


    I was looking for references on GUI architecture and I was surprised on the lack of it. I found MVC, HMVC, and PAC. But is that it? After 30 some years of GUI, that's the best there is?

    I was looking at wxWidgets and they have a DocView framework, which probably explains the lack of better architecture. They have a DocTemplate for every Document and View in the framework. That means the DocTemplates form a sparse Cartesian product. And Cartesian products are notorious for their difficulty to program.

    So, does anyone have suggestions where to find out more about GUI architecture?
    Don't stop where the ink does.
  2. #2
  3. wizard
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2009
    Location
    The Great White North
    Posts
    83
    Rep Power
    141
    Well, after some thought, I came up with this:
    Gui_Architecture.png

    I had thought of creating a link directly between the Data Sources and the Views but that meant pushing info about the application into them. Not loosely coupled.

    With this arrangement, the smarts of the app go mostly into the Task Manager, with everything else just responsible for their own housekeeping.

    The Task Manager would be responsible for making sure the data and views are updated correctly. Mostly bookkeeping, so it should be too hard to generalize.
    Don't stop where the ink does.
  4. #3
  5. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Mar 2016
    Posts
    53
    Rep Power
    2
    Well, yes, sort of?

    Most development now, afaik, are all done in some sort of algamation of MVC, Twitterbootstrap, and Laravel, Entity framework, or yeah, whatever really..

    I personally like the MVC setup, because it grants a clear interface between layers, and when used correctly make dividing work between front-enders and back-enders really easy.

    Even when this person is the same guy, the testing possibilities are superior, and debugging in this structure is also quite simple.

    If you are looking for something that is more... "cookie cutter" then may I suggest exploring various CMS systems instead? As they may be able to accomplish your task, with less effort.

    I am not sure I precisely understand the question you are trying to pose. Could you elobrate a bit?
  6. #4
  7. wizard
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jul 2009
    Location
    The Great White North
    Posts
    83
    Rep Power
    141
    Originally Posted by MortenBork
    If you are looking for something that is more... "cookie cutter" then may I suggest exploring various CMS systems instead? As they may be able to accomplish your task, with less effort.
    The only CMS I know is content-management system. Are you talking about that or something else?

    Originally Posted by MortenBork
    I am not sure I precisely understand the question you are trying to pose. Could you elobrate a bit?
    The question is: What architecture is used for GUIs? Surely, after all this time, there have been design patterns for them. But I can't seem to find any.

    Also, since Java has no global variables, how is information passed back up the chain? I can think of two ways: callbacks and custom events. Neither is all that elegant.
    Don't stop where the ink does.
  8. #5
  9. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Mar 2016
    Posts
    53
    Rep Power
    2
    Well its depends a bit on what sort of pattern we are talking really?
    General MVC pattern, will solve the delivery issue of data from x to front-end. Quite nicely even.
    However, if you need something for the GUI components themselves, its split into so many patterns that its quite hard to find and follow them all.
    If its those types of patterns you a refering to, start with "Observer", "Decorator" and "polymorphism" Those three patterns will solve almost any GUI related issue you can have.

    But if you are looking for something more like MVC, and the generel structure and passing of date, the old "layered" model, joined with MVC really is the best option I have seen so far, if you fall on something more clever, please let me know
  10. #6
  11. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2016
    Posts
    1
    Rep Power
    0

    GUI Architecture


    I am explaing the different patterns of GUI. But the most usable pattern is MVC. You can go for it.

    Patterns for GUI Applications :

    Model-View-Controller is built from components (objects) of three types: models, views, and controllers.

    Hierarchical Model-View-Controller (HMVC) is an extension of basic MVC . A GUI application is modeled as a hierarchy of MVC-triads connected through the controllers.

    Presentation-Abstraction-Control (PAC) organizes a GUI application as a hierarchy of cooperating agents. The control component connects the agentQs
    presentation and abstraction parts with each other and is responsible for communication with
    other agents.

    Thanks

IMN logo majestic logo threadwatch logo seochat tools logo