Projects and packages are arbitrary categories you can use to organize
your EGL source files. Use them to keep some parts of your application
together, and isolate those parts from others. In practice, EGL architects
tend to divide an application according to one or more of the following
criteria:
- Business problems to be solved
- Technology types to be used
- Development groups who do the coding
- Archival methods to be used to store the source code and maintain
source control
- Optimum program size
- Testing strategies
A small application typically consists of a single project. A large
enterprise application can include a number of projects, each with
several packages underneath. Dividing applications into projects and
packages is a highly subjective process that varies from one company
to another. Be sure to keep your focus on:
- what the business problems are
- who does the development
- where the programs are written, run, and maintained
As well as being conceptual units, projects and packages also represent
specific folders in your EGL workspace. The project is at the highest
level, with underlying packages created in the EGLSource folder below
it.
Projects differ from packages in one important way. You can use
the name of a package as a qualifier to bring a part or variable into
your current scope (see Scope).
In contrast, you never use the name of a project within EGL logic.