Java Reference
In-Depth Information
Name your project
ACME
, and make it a single-module project, containing
only one Java module. Name that module
CurrencyConverter
, and accept the
default names for source and classes directories.
Although many different implementations can fulfill the requirements, here
are some possibilities that have their pros and cons. This isn't meant to be an
ideal solution, remember, but rather one that helps expose you to the various fea-
tures of
IDEA
:
No requirement specifies that the list of currencies known to the system
must be dynamic. Currencies can be hard-coded in the system, so you can
have an enumerated-type class that represents both the definition of what a
currency is as well as what currencies exist as far as the system is concerned.
■
No user interface has been defined, so you can start with a simple com-
mand-line utility that takes arguments appropriate for the use-cases. You
can always add more user interfaces later, and a command-line utility can
help you test to see if your system works.
■
No matter what solution you eventually architect, the classes will be owned by
ACME
Incorporated and live in its source code repository. It's probably a safe
assumption that
ACME
's Java products all live within the
com.acme
package struc-
ture. And, if this currency converter is a new project, there may not be an existing
package that seems appropriate for its source code. In preparation for the new
classes you're about to create, use the
Project
tool window to create a package tree
that ultimately includes
com.acme.conversion.currency
and
com.acme.conver-
sion.currency.client
.
1.5 Summary
IDEA
boasts an impressive and extensive list of features for Java software develop-
ment. The original name of the company producing
IDEA
was IntelliJ (now Jet-
Brains), and it won't surprise you that we think
IDEA
is an extremely intelligent
IDE
. From automated code assistance to runtime code analysis, from continuous
redesign support to an enabling extensibility framework, from sophisticated code
navigation to modular project management, its features help simplify and speed
up the process of software development. Trial versions of the software are avail-
able for download from the JetBrains corporate web site and aren't feature-
restricted, allowing you to experience the full power of the software and gauge its
effect on your own personal process before committing to it.