All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.sphere.sdk.meta.Architecture Maven / Gradle / Ivy

The newest version!
package io.sphere.sdk.meta;

import io.sphere.sdk.models.Base;

/**
 * Placeholder for the architecture description in Javadoc.
 *
 * 

The JVM SDK consists of a lot of SBT modules:

* * diagram the shows the dependencies between the SBT modules * *

(The picture is maybe outdated but is supposed to show the principle.)

* *

Modules which do not depend on each other can be compiled and tested in parallel. The build is faster since all available processors can be used instead of working with just one processor.

*

The middle of the following CPU diagram shows the CPU usage at the time of executing tests in a clean project:

* * diagram that shows CPU cores are almost equaly used in the middle * *

Another reason to work with a high modularization is to make sure that the SDK is easy extensible and classes are not unnecessarily coupled to each other. * For example the client modules do not "know" the model modules (containing queries and commands) and vice versa. * So it must be possible to create more model packages without touching the client. This was the problem of the old * SDK which bound the services directly to the client * and made it impossible to extend without touching the original code. In addition removing the service coupling to * the client makes it possible to create different clients for different future implementations.

* */ public final class Architecture extends Base { private Architecture() { } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy