Which of the following need to be done to structure and organize the architecture of a large,
complex system with many classes?
A.
Separate the data from the operations that modify the data in a logical fashion, in order to
structure the system better.
B.
Layer the design (e.g. View Layer- Model Layer – Infrastructure Layer) so common types of
packages are in the same layer.
C.
Reduce inter-package dependencies for each use-case by grouping the model, view, and
controller components that interact for that use-case.
D.
Group classes with complementary goals into packages and define each package’s public
interface.