Updating introduction section

This commit is contained in:
Roman Mogilatov 2015-05-12 16:18:37 +03:00
parent c646e3933a
commit c6eabb726c
4 changed files with 59 additions and 21 deletions

View File

@ -1,7 +1,7 @@
Objects Objects
======= =======
Dependency management tool for Python projects Dependency injection framework for Python projects.
+---------------------------------------+-------------------------------------------------------------------+ +---------------------------------------+-------------------------------------------------------------------+
| *PyPi* | .. image:: https://pypip.in/version/Objects/badge.svg | | *PyPi* | .. image:: https://pypip.in/version/Objects/badge.svg |
@ -32,19 +32,33 @@ Dependency management tool for Python projects
Introduction Introduction
------------ ------------
Python ecosystem consists of a big amount of various classes, functions and Python ecosystem consists of a big amount of various libraries that contain
objects that could be used for applications development. Each of them has its different classes and functions that could be used for applications
own role. development. Each of them has its own role.
Modern Python applications are mostly the composition of well-known open 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 When application goes bigger, its complexity and SLOC_ are also increased.
also increased extremely fast and became hard to maintain. 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 It sounds like "I have so many classes and functions! They are great, now I can
and their dependencies in formal, pretty way. Main idea of *Objects* is to understand each of them, but it is so hard to see the whole picture! How are
keep dependencies under control. 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 Installation
------------ ------------
@ -157,3 +171,7 @@ Your feedback is quite important!
.. _PyPi: https://pypi.python.org/pypi/Objects .. _PyPi: https://pypi.python.org/pypi/Objects
.. _Stable version: http://objects.readthedocs.org/en/stable/ .. _Stable version: http://objects.readthedocs.org/en/stable/
.. _Latest version: http://objects.readthedocs.org/en/latest/ .. _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

View File

@ -1,7 +1,7 @@
Objects Objects
======= =======
Dependency injector for Python projects. Dependency injection framework for Python projects.
+---------------------------------------+-------------------------------------------------------------------+ +---------------------------------------+-------------------------------------------------------------------+
| *PyPi* | .. image:: https://pypip.in/version/Objects/badge.svg | | *PyPi* | .. image:: https://pypip.in/version/Objects/badge.svg |

View File

@ -1,16 +1,36 @@
Introduction Introduction
============ ============
Python ecosystem consists of a big amount of various classes, functions and Python ecosystem consists of a big amount of various libraries that contain
objects that could be used for applications development. Each of them has its different classes and functions that could be used for applications
own role. development. Each of them has its own role.
Modern Python applications are mostly the composition of well-known open 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 When application goes bigger, its complexity and SLOC_ are also increased.
also increased extremely fast and became hard to maintain. 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 It sounds like "I have so many classes and functions! They are great, now I can
and their dependencies in formal, pretty way. Main idea of *Objects* is to understand each of them, but it is so hard to see the whole picture! How are
keep dependencies under control. 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

View File

@ -7,7 +7,7 @@ from setuptools import setup
from setuptools import Command from setuptools import Command
SHORT_DESCRIPTION = 'Dependency injector for Python projects' SHORT_DESCRIPTION = 'Dependency injection framework for Python projects'
# Getting description. # Getting description.