• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Rob Spoor
  • Tim Cooke
  • Junilu Lacar
Sheriffs:
  • Henry Wong
  • Liutauras Vilda
  • Jeanne Boyarsky
Saloon Keepers:
  • Jesse Silverman
  • Tim Holloway
  • Stephan van Hulst
  • Tim Moores
  • Carey Brown
Bartenders:
  • Al Hobbs
  • Mikalai Zaikin
  • Piet Souris

Help Creating Modular Software

 
Ranch Hand
Posts: 51
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello,

I want to start trying to create a piece of software that uses seperate programs that are accessed through a single program - I have no idea how to go about this. I have tried searching for articles etc but I am not even sure what the terminology is. Can anyone point me in the direction of good reference material or even help get me going themselves. As a learning example I would like to make the following basic program.

A main program that has no functionality of its own except that it 'loads' a module program and adds the module programs controls into its menus.

The module program is simply a very basic text editor that allows the user to create a new text file, open an existing text file, save an open text file. This 'module' would not have any menu items itself - instead, the main program needs to be able to add this functionality to itself after it has loaded the module.

I know how to make the main program and the simple text editor myself but only as individual, seperate programs. I need help understanding what I have to learn and do in order to make the text editor work as a module within the main program.

Anyone up for helping me get started in the right direction?

Thanks.
 
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
This sounds to me like a plug-in architecture. The key here is that each module program (plug-in) needs to define a common entry point or interface for the main program to access. The common interface might allow the main program to do something like ask the plug-in for its menus (for example). For an example of a very extensive application framework with a plug-in architecture, see Eclipse.

Rick
[ March 31, 2005: Message edited by: Rick Goldstein ]
 
Ranch Hand
Posts: 262
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You might also be interested in Feature Oriented Programming
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Two very basic principles you might want to google for are the Dependency Inversion Principle and Inversion Of Control aka Dependency Injection.
 
My honeysuckle is blooming this year! Now to fertilize this tiny ad:
Thread Boost feature
https://coderanch.com/t/674455/Thread-Boost-feature
reply
    Bookmark Topic Watch Topic
  • New Topic