Skip to content

Latest commit

 

History

History
50 lines (29 loc) · 1.42 KB

README.md

File metadata and controls

50 lines (29 loc) · 1.42 KB

SRPLIB

A collection of lightweight and highly specialized libraries for java.

Primary goal

Continue "mission" of SLF4J. Provide the same service for other development aspects.

Libraries

  • contract - method and class contract support (Assert/Argument)
  • conversion - general purpose converter interface and it's infrastructure
  • reflection - simplify reflection API usage
  • support - support library for other modules
  • model - general purpose model
  • binding - general purpose binding (experimental)
  • validation - general purpose validation (experimental)

Design principles

Single Responsibility Principle (SRP)

Each library has clear focus on particular aspect. Library evolution should not change this.

20-80 rule

Provide only essential functionality.

Context independence

Libraries should not depend on particular context (framework, other library, UI technology, etc.) and should be suitable for mobile as well as large enterprise applications.

Structure

Each library includes main module and optional support module.

Main module:

  • defines core interfaces and classes
  • does not provide "useful" implementations
  • does not provide helper classes, factories, syntax sugar, etc.

Optional module:

  • provides useful implementations
  • provides factories and helper classes