diff --git a/README.rst b/README.rst index 43cd7f7a..497b8259 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ Objects ======= -Dependency management tool for Python projects +Dependency injection framework for Python projects. +---------------------------------------+-------------------------------------------------------------------+ | *PyPi* | .. image:: https://pypip.in/version/Objects/badge.svg | @@ -32,19 +32,33 @@ Dependency management tool for Python projects Introduction ------------ -Python ecosystem consists of a big amount of various classes, functions and -objects that could be used for applications development. Each of them has its -own role. +Python ecosystem consists of a big amount of various libraries that contain +different classes and functions that could be used for applications +development. Each of them has its own role. Modern Python applications are mostly the composition of well-known open -source systems, frameworks, libraries and some turnkey functionality. +source systems / frameworks / libraries and some turnkey functionality. -When application goes bigger, its amount of objects and their dependencies -also increased extremely fast and became hard to maintain. +When application goes bigger, its complexity and SLOC_ are also increased. +Being driven by SOLID_ (for example), developers often start to split +application's sources into not so big classes, functions and modules. It +always helps, but there is another problem on the horizon. -*Objects* is designed to be developer's friendly tool for managing objects -and their dependencies in formal, pretty way. Main idea of *Objects* is to -keep dependencies under control. +It sounds like "I have so many classes and functions! They are great, now I can +understand each of them, but it is so hard to see the whole picture! How are +they linked with each other? What dependencies does this class have?". And +this is a key question: "What dependencies do certain class / function have?". +To resolve this issues developers have to go inside with IoC_ principles and +implementation patterns. + +One of such IoC_ implementation patterns is called `dependency injection`_. + +*Objects* is a dependency injection framework for Python projects. + +It was designed to be developer's friendly tool for managing any kind of +Python objects and their dependencies in formal, pretty way. + +Main idea of *Objects* is to keep dependencies under control. Installation ------------ @@ -157,3 +171,7 @@ Your feedback is quite important! .. _PyPi: https://pypi.python.org/pypi/Objects .. _Stable version: http://objects.readthedocs.org/en/stable/ .. _Latest version: http://objects.readthedocs.org/en/latest/ +.. _SLOC: http://en.wikipedia.org/wiki/Source_lines_of_code +.. _SOLID: http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29 +.. _IoC: http://en.wikipedia.org/wiki/Inversion_of_control +.. _dependency injection: http://en.wikipedia.org/wiki/Dependency_injection diff --git a/docs/index.rst b/docs/index.rst index 83c03f87..9bed770b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,7 +1,7 @@ Objects ======= -Dependency injector for Python projects. +Dependency injection framework for Python projects. +---------------------------------------+-------------------------------------------------------------------+ | *PyPi* | .. image:: https://pypip.in/version/Objects/badge.svg | diff --git a/docs/introduction.rst b/docs/introduction.rst index 0197eed0..f1428465 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -1,16 +1,36 @@ Introduction ============ -Python ecosystem consists of a big amount of various classes, functions and -objects that could be used for applications development. Each of them has its -own role. +Python ecosystem consists of a big amount of various libraries that contain +different classes and functions that could be used for applications +development. Each of them has its own role. Modern Python applications are mostly the composition of well-known open -source systems, frameworks, libraries and some turnkey functionality. +source systems / frameworks / libraries and some turnkey functionality. -When application goes bigger, its amount of objects and their dependencies -also increased extremely fast and became hard to maintain. +When application goes bigger, its complexity and SLOC_ are also increased. +Being driven by SOLID_ (for example), developers often start to split +application's sources into not so big classes, functions and modules. It +always helps, but there is another problem on the horizon. -*Objects* is designed to be developer's friendly tool for managing objects -and their dependencies in formal, pretty way. Main idea of *Objects* is to -keep dependencies under control. +It sounds like "I have so many classes and functions! They are great, now I can +understand each of them, but it is so hard to see the whole picture! How are +they linked with each other? What dependencies does this class have?". And +this is a key question: "What dependencies do certain class / function have?". +To resolve this issues developers have to go inside with IoC_ principles and +implementation patterns. + +One of such IoC_ implementation patterns is called `dependency injection`_. + +*Objects* is a dependency injection framework for Python projects. + +It was designed to be developer's friendly tool for managing any kind of +Python objects and their dependencies in formal, pretty way. + +Main idea of *Objects* is to keep dependencies under control. + + +.. _SLOC: http://en.wikipedia.org/wiki/Source_lines_of_code +.. _SOLID: http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29 +.. _IoC: http://en.wikipedia.org/wiki/Inversion_of_control +.. _dependency injection: http://en.wikipedia.org/wiki/Dependency_injection diff --git a/setup.py b/setup.py index 9bd3f607..ca1de764 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ from setuptools import setup from setuptools import Command -SHORT_DESCRIPTION = 'Dependency injector for Python projects' +SHORT_DESCRIPTION = 'Dependency injection framework for Python projects' # Getting description.