Git Product home page Git Product logo

Comments (5)

tonny-kohar avatar tonny-kohar commented on June 3, 2024

It is under MVC pattern. Please see https://blogs.oracle.com/geertjan/spotting-the-mvc-pattern-in-the-netbeans-platform

The way it is structured is to allow modular application design with design pattern (not only MVC but almost all 14 design pattern are used in alkitab bible study).

Note: Alkitab Bible Study is build on top of Netbeans Platform and JSword Library.

from alkitab-suite.

tonny-kohar avatar tonny-kohar commented on June 3, 2024

And please see https://www.appservgrid.com/refcards/refcards/dzonerefcards/rc080-010d-netbeans-platform_2.pdf
It helps to undertand netbeans platform where alkitab is build on top.

The modular application framework allows module/plugins to be attached/detached at runtime without affecting the rest of application. For example, you can create plugin that provide alternative view to bible text/book, create a menu or action to interact and can safely attach that plugin at runtime and voila your menu/action appear in there, then safely detached (remove plugin) and voila you menu/view/etc is gone during runtime without affecting the application.

from alkitab-suite.

kylak avatar kylak commented on June 3, 2024

Ok thanks I will look at the links you have given.

from alkitab-suite.

tonny-kohar avatar tonny-kohar commented on June 3, 2024

To make it easier to understand in term of MVC

  • in terms of MVC, Netbeans Platform is the the Controller, Alkitab is the the View, JSwod is the Model.
  • Alkitab provide View for the Model (bible text, verse, list of books, etc) by querying using JSword API
  • Netbeans Platform act as Controller and Container for the View, by providing lifecycle management, registration handle (menu, action, plugins, etc) for View,

But it is recommended to not think as MVC, but as modular application framework instead.

  • The use of lookup is extensively used (either using direct code, annotation, or xml layer)
  • Each namespace is a module (eg: bookshelf namespace, bookviewer namespace, etc)
  • Whenever possible each view is provided as JPanel/JComponent (basic standard java swing) and finally wrapped in TopComponent (Netbeans specific things)

Note the concept of Lookup is very important for modular application framework and heavily used. Lookup is provided by netbeans (netbeans specific things), It is modeled after Event Bus design pattern and observer/subscriber/consumer pattern.

from alkitab-suite.

kylak avatar kylak commented on June 3, 2024

Thanks a lot.

from alkitab-suite.

Related Issues (8)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.