Zkejid's Constructor Framework: base implementation

Implementation of Zkejid's Constructor Framework.

Лицензия

Лицензия

Группа

Группа

com.zkejid.constructor
Идентификатор

Идентификатор

core-impl
Последняя версия

Последняя версия

1.0.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

Zkejid's Constructor Framework: base implementation
Implementation of Zkejid's Constructor Framework.
Ссылка на сайт

Ссылка на сайт

https://github.com/zkejidsconstructor/core/tree/master/core-impl

Скачать core-impl

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.zkejid.constructor/core-impl/ -->
<dependency>
    <groupId>com.zkejid.constructor</groupId>
    <artifactId>core-impl</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.zkejid.constructor/core-impl/
implementation 'com.zkejid.constructor:core-impl:1.0.0'
// https://jarcasting.com/artifacts/com.zkejid.constructor/core-impl/
implementation ("com.zkejid.constructor:core-impl:1.0.0")
'com.zkejid.constructor:core-impl:jar:1.0.0'
<dependency org="com.zkejid.constructor" name="core-impl" rev="1.0.0">
  <artifact name="core-impl" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.zkejid.constructor', module='core-impl', version='1.0.0')
)
libraryDependencies += "com.zkejid.constructor" % "core-impl" % "1.0.0"
[com.zkejid.constructor/core-impl "1.0.0"]

Зависимости

compile (1)

Идентификатор библиотеки Тип Версия
com.zkejid.constructor : core-api jar 1.0.0

test (1)

Идентификатор библиотеки Тип Версия
org.junit.jupiter : junit-jupiter jar 5.6.2

Модули Проекта

Данный проект не имеет модулей.

Build Status

Constructor Core module

Overview

Constructor is a framework for development of modular applications. The idea behind it is simple: split the whole application on separate modules linked through well documented and properly tested interfaces.

Each module of an application defines two sets of interfaces. One set consists of all interface classes given module depends on. Other set consists of interface classes given module provides. Core module responsible fo detection of modules, their instantiation, providing dependencies, calling entry point code and executing some other infrastructural tasks.

Recommended way to organize code in project is as follows. Each module should be provided as a separate set of artifacts. Module project should contain: artifact containing API provided, implementation artifact, unit tests over implementation, test application, integration tests over API.

Benefits

  • Constructor Framework supports and powers up test driven development in the following way: each interaction does through an interface, which means you can set any implementation you need.
  • Framework forces developer to use modular way of thoughts. Each module has clear and well described purpose.
  • The set of infrastructural classes in Java SDK has their own interfaces. Usage of these interfaces allows developer to make more clear tests on interaction with infrastructure: file system, JMX, System class, System Environment variables, and so on.

Similar frameworks

  • Any Dependency Injection (DI) framework: Spring, Guice, Dagger, etc. Constructor Framework implements Dependency injection on the level of modules.
  • Plugin frameworks like PF4J. Core module does not support the dynamic plugin loadig, but has similar behavior on static loading searching modules in classpath.

Versioning

Artifact versions of the Core Module follow the Semantic Versioning 2.0.0 specification.

Logging

Core classes use framework's own built-in interface for logging. Application should define an implementation of this interface in order to achieve logging for core classes. Implementation should be made in the form of Constructor Framework module providing implementation of CoreLogging.java interface.

Версии библиотеки

Версия
1.0.0