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

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

There is a newer version: 1.0.0-M26
Show 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 it is good enough to show the idea.)

* *

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 area in the graphs 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 * *

A highly modular architecture makes sure that the SDK is easily extensible. The SDK's 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 changing the client. This was the problem with the old * SDK that bound the services directly to the client * and made it therefore impossible to extend without touching the original code. Additionally 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 - 2024 Weber Informatics LLC | Privacy Policy