Re: Java module separations
Rochelle Raccah <[email protected]> Mon, 12 May 2003 12:01:05 -0700
| Newsgroups | gmane.comp.java.netbeans.modules.projects.devel |
|---|---|
| Message-ID | <[email protected]> |
I'm not sure if this still exists in projects, but where would the new incarnation of data loader, data object, nodes, etc. be? Thanks, Rochelle Vitezslav Stejskal wrote: > > Hi people, > > we are thinking about the way how to split the code in java module(s) > into more manageable pieces reflecting the logical structure of features > provided by the module. The goals which we would like to achieve by the > separation are: > > - separate independent pieces of code > - clean up the APIs and SPIs by removing inappropriate dependencies > - make hard to mess up things again in the future > - allow modules building on top of java APIs to pick up only those > pieces which they are interested in > - improve the understandability of the code and lower the maintenance costs > > Let me outline the suggested set of modules and briefly describe the > functionality covered by them. Some modules listed below already exist > others will be created. > > * java - This module provides integration of all the services and > functions provided by other modules in the Netbeans IDE. It has no API > nor SPI, but a lot of GUI. > > * java/api - This is the basic java API module. Now it contains all the > java APIs mixed together, but they should be separated from there. It > will contain only the ClassPath API because of keeping the backward > compatibility with Netbeans 3.4/3.5. > > * java/platform - This module will contain the generic support for java > platforms, mostly the API and SPI for maintaining platforms registry, > definition of platform services, etc. > > * java/j2se - This is the implementation of J2SE platform support > including services like compilation, execution, etc. > > * java/projects - The projects support for java developement. It will > contain things like JavaProject, CompilationUnit, ProjectPath, etc. > > * java/editor - The java editor kit. > > * java/completion - The java editor code completion support. > > * java/srcmodel - Java Source Hierarchy > > The intermodule depenencies are shown on the graph below, it doesn't > show dependencies on Open API and other external modules. Modules are > grouped to two groups - projects dependent and projects independent. > > * projects independent: > java/api > java/platform depend on java/api > java/j2se depends on java/api, java/platform > > * projects dependent > java/projects depends on java/api, java/platform > java/srcmodel depends on java/projects > java/completion depends on java/api, java/projects, java/srcmodel > java/editor depends on java/completion, java/api, java/projects, > java/srcmodel > java depends on all other modules > > This is the first sketch and details are very likely to change when we > will proceed with implementation. > > Any comments, suggestions? > -vita > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected]